Plugin OpenPublishing

Pour sites de publication ouverte

Ce plugin permet la publication d’un article (avec l’ajout éventuel de documents ou d’images) depuis le site publique, de manière totalement anonyme.

Introduction

Attention, une nouvelle version de ce plugin viens d’être rendu disponible. Cet article ne concerne donc que les versions 0.1, 0.2, 0.3 du plugin openPublishing. Pour les versions suivantes (0.4) voir l’article traitant du plugin Publication Ouverte

Le plugin OpenPublishing a pour but de fournir une interface de publication ouverte à n’importe qui et ce de manière totalement anonyme. Il permet donc la publication d’article depuis le site public, de manière totalement anonyme et sans inscription. Il a été développé pour le site indymedia Lille. (Indymédia est un réseau mondial de sites d’informations fonctionnant sur le principe d’openPublishing. Il a été créé à l’occasion du contre-sommet G8 de Seattle)

Petit historique :

Certains sites Indymédia ont été développé à partir d’un fork de spip 1.4.2. (le projet spipindy). Depuis le projet SPIP a évolué et est maintenant en passe de passer à la version 2.0, avec de nombreuses fonctionnalités supplémentaires. L’une des principale fonction est la gestion des plugins, c’est à dire la possibilité d’ajouter du code à SPIP sans pour autant s’écarter de la branche principale. Le plugin OpenPublishing a pour vocation de remplacer le projet Spipindy et de s’intégrer dans le développement de spip.

Fonctionnalités

le plugin OpenPublishing permet :

-  la publication d’article depuis le site public
-  l’anonymat du contributeur (attention, le serveur qui héberge le site peut ne pas garantir cet anonymat)
-  des options de post-traitement du texte
-  la possibilité pour l’utilisateur de lier des mots-clefs à son article
-  la possibilité de transformer l’article en « date » pour un agenda
-  des boucles supplémentaires afin de faciliter l’écriture du squelette
-  une interface d’administration du plugin

Le plugin OpenPublishing est fonctionnel sur SPIP 1.9.1. et SPIP 1.9.2.

La dernière version stable est la version 0.3


Documentation & téléchargement & développement

-  Espace wiki. Ce site sert d’espace de travail collaboratif et regroupe toutes les informations liés à ce plugin.
-  Le plugin OpenPublishing version 0.3 est aussi disponible en zip, lié à cet article.


Installer le plugin openPublishing

Installation standard de SPIP

Il suffit tout simplement de décompresser l’archive dans le répertoire « plugins » de votre spip, puis d’aller activer le plugin dans la page de gestion des plugins de l’interface privée de spip.

Installation pour mettre à jour une version antérieure du plugin openPublishing

Attention, Il y a une petite subtilité a ne pas rater ! Il suffit de supprimer tous les fichiers de votre répertoire « plugins/openPublishing/ », et d’y placer le contenu de l’archive openPublishing. Mais ensuite, il ne faut surtout pas oublier de clicker sur le bouton « Upgrader les tables openPublishing » dans l’espace de configuration du plugin openPublishing, afin de mettre à jour automatiquement votre base de donnée.

N’utilisez surtout pas la fonction « Désinstaller openPublishing », celle-ci supprimerai définitivement toutes vos tables openPublishing et toutes les informations qui y sont stockées.


Configurer le plugin openPublishing

Après avoir installé le plugin selon la procédure standard de SPIP, il faut impérativement le configurer pour l’adapter à vos besoins.

La base de donnée

La première chose à faire est d’installer les nouvelles tables dans la base de donnée. Pour cela :

Configuration -> Configuration openPublishing

et clickez sur « installer les tables OpenPublishing »

Modifier la configuration de base

Toute la configuration du plugin passe par l’interface privée. Il vous suffit de clicker sur l’onglet « configurer openPublishing » puis « modifier la configuration » pour avoir accès à toutes les options actuellement prises en charge par le plugin.

Configuration -> Configurer openPublishing -> Modifier la configuration

indiquer au plugin quelles sont les rubriques openPublishing

Le formulaire openPublishing permet à l’utilisateur de choisir dans quelle rubrique il désire publier son article. Dans la boite « Gestions des rubriques », indiquez le numéro d’une rubrique et validez. Recommencez l’opération pour chacune des rubriques voulues.

gestion des redirections

Lorsqu’un utilisateur valide un article ou abandonne, le formulaire affiche un message et redirige au bout de quelques secondes vers une autre page du site. Ces champs permettent de configurer cela. Attention, il faut indiquer des urls de type : « /spip.php ?page=ma_page », le plugin complétera automatique l’url

options de post-traitement du texte

Pour le moment, seulement deux fonctionnalité existent. Interdire les titres en majuscule, et une fonction anti-spam.

la gestion d’un agenda

Pour le moment, l’agenda est géré de la manière suivante : dans une rubrique distincte, les articles de type agenda sont publiés sous forme de brèves. Ce système n’est pas très propre et évoluera certainement. Pour le moment, il faut créer une rubrique spéciale pour l’agenda, qui recevra toutes les brève publiés.

La gestion des documents

Le formulaire de publication permet aux utilisateurs de lier des documents à leur article. Cette option permet d’activer ou de désactiver cette possibilité.

La gestion des mots-clés

Si votre site utilise des mots-clés pour référencer ses articles, vous pouvez graçe à cette option permettre aux utilisateurs du plugin de choisir eux-mêmes quels mots-clès ils veulent utiliser pour leur article.

La gestion des mots- clés avec le plugin Tag-Machine

Si votre site utilise le plugin Tag Machine, cette option permet de permettre aux utilisateur de créer leurs mots-clés qu’ils lierons à leur article. Attention, si vous activez cette option, il faut impérativement que le plugin Tag Machine soit installé

Le choix du statut par défaut des nouveaux articles

Grace à ces options vous pouvez choisir quel statut aurons les articles publiés avec le plugin openPublishing. Soit « publie », c’est à dire directement avec le statut « publier », soit « prop », c’est à dire avec le statut « proposé à la validation » (choix par défaut), soit « prepa », c’est à dire « en préparation ».


Au niveau du squelette

Quelques petites modifications de votre squelette sont nécessaires afin que le plugin openPublishing soit fonctionnel.

Le formulaire de publication

Insérez cette balise dans une page de votre squelette :

[(#FORMULAIRE_ARTICLE{#SELF})]

Le formulaire de publication d’article apparaîtra dans cette page.

Si le formulaire de publication est placé dans une boucle RUBRIQUES, la rubrique courante sera proposé par défaut à l’utilisateur (et non plus la première rubrique de la liste / attention, il faut impérativement que cette rubrique soit une rubrique openPublishing)

la boucle op_rubriques

Cette boucle retourne la liste des rubriques dédiés à l’OpenPublishing. exemple d’utilisation :

<BOUCLE_rubrique_op(op_rubriques)>
<BOUCLE_rubrique(RUBRIQUES){id_rubrique = #OP_RUBRIQUE}>
[...] code HTML + SPIP [...]
</BOUCLE_rubrique>
</BOUCLE_rubrique_op>

Attention de bien mettre le type de la boucle en minuscule et non en majuscule !

Il peut-être utile de l’utiliser pour lister toutes les rubriques acceptant l’OpenPublishing.

La boucle op_auteurs

Cette boucle retourne les informations d’un auteur anonyme. exemple d’utilisation :

<BOUCLE_auteur_op(op_auteurs){id_article}>
,  Auteur : #NOM
,  Mail : #EMAIL
,  Téléphone : #PHONE
,  Groupe : #GROUP_NAME
</BOUCLE_auteur_op>

Attention de bien mettre le type de la boucle en minuscule et non en majuscule !

Il faut utiliser cette boucle à l’intérieur d’une boucle ARTICLE.

La balise #AGENDA

cette balise renvoi simplement le numéro de la rubrique « agenda ». Utile comme critère de recherche pour certaines boucles.


Autres informations

Champs d’identifications

Les champs identifications serons automatiquement remplis avec les informations de l’auteur si celui est inscrit et est actuellement connecté à l’interface privée de spip.

Fichier css & formulaire

Pour bénéficier du fichier css donné avec le plugin (« plugins/openPublishing/css/op.css »), vous devez en recopier le contenu dans votre propre fichier css.
De même vous pouvez placez les formulaires donnés avec le plugin dans votre répertoire formulaires de votre squelette, afin d’y effectuer toutes les modifications voulue.

Traduction

Le plugin openPublishing utilise un fichier lang qui n’attend que d’être traduit en plein de langues différentes (« lang/local_fr.php »). Une fois ce fichier traduit, toute l’interface de configuration et de publication du plugin sera traduit.

Bugs corrigé par la version 0.3

-  l’upload de documents
-  le cas d’une base de donnée avec un préfixe autre que « spip »
-  de multiples petits trucs qui pouvaient empoisonner la vie d’un webmaster


pour les codeurs : svn

Le plugin OpenPublishing est développé en utilisant SVN, un outil permettant le travail collaboratif. Il est référencé avec plein d’autres projets dans l’espace de développement de SPIP appelé site 158.
Pour participer au développement du plugin, il faut obligatoirement s’inscrire sur la « zone »

pour participer

-  contactez l’équipe de développement
-  Comment utiliser SVN ?
-  mettez la main à la pate

pour télécharger la version SVN (de développement)

Il est aussi possible de télécharger la toute dernière version du plugin (attention aux éventuels bugs, il s’agit d’une version de développement)
-  plugin version SVN

Voir en ligne

-  Un site fonctionnant avec le plugin OpenPublishing : Indymédia Lille
-  Un site bac à sable pour tester le plugin : SPIP 1.9.2a

Discussion

52 discussions

  • 2

    Bonjour,

    j’ai installé ce plugin sur mon serveur local easyphp et il fonctionnait très bien.
    J’ai transféré le plugin sur l’espace d’hébergement de mon site et là... gros problème !

    Le plugin s’installe sans soucis mais dès qu’il est activé ça provoque des problèmes au niveau des caractères accentués des articles créés normalement dans la partie privée !!

    Quelqu’un pourrait-il me dire d’où ça pourrait provenir ?

    Merci d’avance et encore bravo pour ce travail.

    • Bonjour

      j’ai le même problème, dommage que personne n’a répondu ici.

      Je précise mon cas : tout s’affiche bien mais quand je clique sur le bouton spip « recalculer cette page » les caractères spéciaux deviennent n’importe quoi et mes boutons spip disparaissent.

      Ce n’arrive pas dans tout les navigateurs : bien dans FF et IE6, pas dans GNOME Web Browser et Konqueror. Je ne sais pas si cela peut aider à résoudre ce problème ?

      à bientôt j’espère
      Joz

    • logiquement, ce sera résolu dans la prochaine version (dans une à deux semaines tout au plus)

    Répondre à ce message

  • 5

    Merci pour ce plugin bien utile.

    1) Je suis tombé sur deux problème lorsque je propose un nouveu article :
    Si j’écris un article sans titre, dans la prévisualisation je suis averti
    que le titre dois avoir minimum 3 caractères. Quand je clique « confirmer l’envoi » sans mettre le titre mon article est quand même accepté.

    2) Quand je remplis dans le formulaire en bas « Votre nom ou pseudo » et « Votre email » ces informations ne sont pas enregistrés. L’auteur de l’article reste « anonymous », comme si je n’avais rien marqué.

    Comment fixer ces problèmes ?
    D’avance merci
    Joz

    • Pour le premier problème : dés que je me remet a bosser sur ce plugin ce sera corrigé

      Pour le second problème :

      La boucle op_auteurs

      Cette boucle retourne les informations d’un auteur anonyme. exemple d’utilisation :

      , Auteur : #NOM
      , Mail : #EMAIL
      , Téléphone : #PHONE
      , Groupe : #GROUP_NAME

      Attention de bien mettre le type de la boucle en minuscule et non en majuscule !

      Il faut utiliser cette boucle à l’intérieur d’une boucle ARTICLE.

    • rha il m’a interprété la boucle !

      <BOUCLE{op_auteurs}(id_article)>
      #NOM
      #EMAIL
      #GROUP_NAME
      #PHONE
      </BOUCLE>
    • trop cool, ça marche

      grand merci
      joz

    • J’ai encore une question sur ce sujet :

      Quand un auteur, inscrit via le site privé, écrit un article par le formulaire de openPublishing, dans l’espace privé cet article ne sera pas attribué à son auteur, mais à l’auteur anonyme.

      Est-ce qu’il y a un moyen de contourner cela ?
      Pour ceux inscrits via le site privé comme pour ceux qui décident de donner leur nom/pseudo et email j’aimerais bien qu’on retrouve dans l’espace privé l’auteur avec les textes qu’il a écrit.

      La combinaison entre méthode d’écrire en anonyme et de pouvoir publier sous son nom si souhaité sera ce que je cherche. Est-ce qu’il y aurait moyen de faire cela avec ce plugin.

      Grand merci en avance

      Joz

    • Ce plugin n’est pas fait pour cela.

      Pour « ecrire en son nom » => passer par l’espace privée (puisque l’utilisateur est connu)

      Pour « ecrire en anonyme » => utiliser openPublishing

    Répondre à ce message

  • 1

    Je n’arrive pas à trouver où et quelles modifications effectuer pour inclure d’autres champs dans la saisie de l’article au travers de ce plugin.

    Si quelqu’un a un tuyau, merci d’avance.

    • pris en compte dans la prochaine version, patience (dans une ou deux semaines tout au plus)

    Répondre à ce message

  • 3

    Bonjour,

    Le développement de ce plugin a été au temps mort depuis quelques mois et les demande d’amélioration et de correction de bug ce sont accumulés. Je m’en excuse, et je vous annonce la reprise du développement du plugin open publishing.

    au programme :

    -  compatibilité avec spip 1.9.3
    -  utilisation du plugin cfg pour les options de configuration
    -  traitement de toutes les demandes d’amélioration et des rapports de bug.
    -  remise à plat du code et simplification diverses.

    Néanmoins, je reste pour le moment l’unique développeur, et d’autres activités me prennent déjà pas mal de temps. J’appelle donc toutes les personnes voulant contribuer à ce plugin à rejoindre « l’équipe de développement » afin de pouvoir sortir la version 0.4 courant janvier/février. Contactez moi soit par mail soit en répondant à ce commentaire.

    merci beaucoup.

    • Pour information la feuille de route pour le plugin open-publishing est disponible

      ici

      Cette feuille de route n’est pas figée, toute suggestion est la bien venue.

    • je trouve ce plugin vraiment remarquable je l’utilise d’ailleurs ici, je n’ai pas de grandes compétence en programmation mais je peux peut être te filer un coup de main sur la documentation et sur la gestion des dates avec la boucle EVENEMENTS que j’ai un peu triturée sur le site précédent et qui semble très prometteuse.
      Je peux peut-être aussi t’aider sur le portage cfg.

      Dans les demandes, il pourrait être intéressant d’avoir une « boite d’aide » à la rédaction d’un article dans le formulaire, paramétrable dans la partie privée

    • bonjour vcris,
      tu as fait quelque chose pour intégrer la boucle evenements du plugin agenda ?
      pourrais tu me montrer ce que ca donne et mettre en dispo le code ou me le faire parvenir ? par mail.
      pietrusgracchus hotmail.fr

    Répondre à ce message

  • Bonjour à à tous, je suis Sebastián de l’Argentine de nouveau et les je commente que le problème des caractères (accents et N) ne se produit pas dans Internet Explorer mais si en Mozilla. Sera un problème le mien.

    Merci beaucoup

    Liberté, Égalité, Fraternité pour tous

    Répondre à ce message

  • Ce message est traduit par un software, j’attends ils peuvent le comprendre

    Je m’appelle ils sebastian et j’essaye d’installer ce Plugin, mais ai deux problèmes : le premier est que quand je l’installerai me sont changés les caractères du texte de la page. J’ai essayé de changer le langage d’« UTF8 » à « charset=iso-8859-1 » et continue à avoir le même problème. Le un autre problème qui me se pose est que je m’aimerais qu’on puisse voir les données de l’utilisateur qui publie un article et non se comme il est fait. Depuis déjà merci beaucoup.

    L’Argentine

    Répondre à ce message

  • Bonjour et merci pour ce superbe plugin.

    je l’utilise pour les annonces particulier du site blueimmo

    J’aurais besoin que les articles ajoutés soient notifiés aux admins (comme les articles rajoutés dans l’espace privé). Es-ce possible ? es-ce déja réalisé ?

    je vais essayer tranquillement de rajouter une ligne de code pour faire

    	notifier_proposition_article($id_article);

    Mais ca sera carrément expérimental.

    Merci d’avance

    MJ

    Répondre à ce message

  • Merci pour ce plugin !!

    Je suis en train de le mettre en place mais un petit problème s’ouvre à moi :

    -  est-il possible de créer « l’agenda » avec ce pluging ? en fait je veux me servir de ce pluging pour que les gens puissent rentrer leur événements sur le site. Donc j’utilise les boucles evenements (et les mots clés liés aux événements...) est ce que c’est possible ?

    merci pour votre aide !!

    Répondre à ce message

  • 1

    Bonjour
    C’est vrai que je débute avec spip mais quand même.... Je crois que les docs gagneraient à avoir plus de précision pour des débutants comme moi.... Bravo tout de même pour ce joli travail.

    Mon problème :
    -  j’ai bien installé openpublishing
    -  j’ai bien paramétré

    Maintenant pour appeler le formulaire de contribution, j’ai créé une page html toute nouvelle où je n’ai mis que #FORMULAIRE_ARTICLE#SELF
    Ce qui pour moi, tel que je comprends la doc, devrait afficher le formulaire si j’appelle la page html.
    Eh bien ce n’est pas le cas. J’ai une page web où est affiché le texte #FORMULAIRE_ARTICLE#SELF

    Quel est le problème ??

    spip 192b/Alternatives

    ps : j’ai les mêmes soucis avec le plugin jeu par exemple.

    Merci

    Répondre à ce message

  • 1
    all secu

    Bonjour,

    J’utilise la version 1.9.3 dev 9979 et il semble y avoir un soucis, quand je lance la page, j’obtiens une erreur : Fatal error: Cannot redeclare envoyer_mail() (previously declared in /home.10.9/allsecur/www/fr/ecrire/inc/vieilles_defs.php:402) in /home.10.9/allsecur/www/fr/ecrire/inc/mail.php on line 16

    Vous pouvez voir le résultat ici : http://www.allsecurite.com/fr/spip.php?page=publie

    Avez vous une idée ?

    Merci d’avance

    • re je suis passé sur spip 1.9.3 dev 10230 et tjs le même message Fatal error: Cannot redeclare envoyer_mail() (previously declared in /home.10.9/allsecur/www/fr/ecrire/inc/vieilles_defs.php:402) in /home.10.9/allsecur/www/fr/ecrire/inc/mail.php on line 16

      Est-ce du à la version ou le projet à t-il cessé d’être développé ?

    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