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
Discussions par date d’activité
52 discussions
Bonjour,
Ce plugin est génial, mais j’aurais une question : est - il possible d’avoir un formulaire différent (en gros dans la rubrique 1 le champ titre s’appellera « entête » et pour la rubrique 2 celui-ci s’appellera « Focus ») suivant la rubrique dans laquelle on veut insérer l’article ??
et comment le mettre en oeuvre ?
Répondre à ce message
Bonjour,
j’ai testé la version 0.4, et ça marche bien sous spip192c.
y a juste quelques remarques :
soit automatique (au lieu d’utiliser la case à cocher)
voilà, si on règle ces problèmes, bah, c’est le bonheur (en fait, je veux faire un site d’annonces à la spip khkh)
certe mais alors ce sera moins pratique pour les utilisateurs connectés qui ne veulent pas que leur nom soit affiché automatiquement :)
c’est prévu :)
effectivement, ce serait plus simple, je vais regarder pour faire cela
Bin si c’est enregistré ET affiché pour peu que l’on place les balises correspondante ;) (dans une boucle article, utilise les champs EXTRA OP_pseudo et OP_mail)
Bonjour,
Merci Edd pour les réponses ;-)
en ce qui concerne la case à cocher en mon nom, à mon avis (du moins c’est ce que je veux khkhkhk) c’est l’inverse qui devrait être fait.
j’explique :
si on est connecté, il devrait y avoir une case à cocher intitulé connexion anonyme
si on n’est pas connecté, bah automatiquement c’est le compte anonymous qui est pris en compte (enfin, je vois ça dans l’esprit d’un site d’annonce, pas d’un site éditorial hihihi)
pour les informations de connexions, j’ai savais po qu’ils sont enregistrés en extras, sorry
ah oui, pendant qu’on y est, même dans un site éditorial, quel est l’intérêt que le visiteur fournisse un nouveaux pseudo/émail à chaque fois (dans le cas où il est loggé). il suffit de cocher anounymous non !!!???
Bonne journée.
PS : c’est pour quand les modifs ??? sankiou (hihihi)
c’est fait :)
deux options dans l’interfaces de configuration :
- Permettre aux rédacteurs de s’identifier (mail et pseudo).
Ajoute dans le formulaire les champs pseudo et mail
- Permettre aux rédacteurs enregistrés en tant que « auteur Spip » de publier les articles en leur nom
Si cette option est coché, par défaut le compte de l’utilisateur logé sera utiliser. Cet utilisateur a la possibilité d’utiliser le compte « anonyme » s’il coche la case « Publier de manière anonyme. » dans le formulaire.
Pour l’utilité des champs pseudo/mail, et bien ce plugin est principalement utilisé par des sites de publication ouverte. Ils permettent de laisser à l’utilisateur le choix de laisser ou pas un moyend e le recontacter après la publication.
Merci Edd, c’est déjà quelque chose pour moi.
ok, je comprend bien le truc du psoeudo/mail ;-)
il reste la liste des mots clès. je veux bien mettre la main dans la patte mais j’aurais besoins d’un petit coup de main. spip utilise les appels de fonctions de partout, je suis égarée moiii !!!
bon,je crois que j’attendrais les autres modifs pour pas faire une bêtise
MErci beaucoup pour ce plugin vraiment génial ;-)
Pas la peine, c’est fait. Dans l’interface de configuration, coche/décoche les groupes de mots-clé que tu veux proposer aux rédacteurs.
Dans le squelette, utilise le critère openKey dans une boucle GROUPE_MOTS pour ne lister que les motsclé que tu a coché.
salut salut,
bon, j’ai pas pu patienter et j’ai mis la main dans la patte (hihihi).
enfin, c’est pas extraordinaire, j’ai juste modifié la boucle dans le fichier :
formulaires/formulaire_motclefs.html
ancien code :
modification :
apparemment le code ci-dessus, ne permet pas le choix optionnel dans les listes de mots clès.
j’ai ajouté l’option :
car je veux bien afficher la liste des mots clés, mais laisser la liberté au visiteur de le sélectionner ou pas. mais ça donne l’erreur :
une piste ?
autre chose :
mais également avoir la possibilité d’afficher ce bloc si l’administrateur veut laisser à ses rédacteurs/visiteurs le choix du type de document ?
Bonne journée.
et merci
Pour tout ce quiconcerne la modification des formulaires, je te conseille cette méthode :
- créer un répertoire « formulaires » dans le répertoire de ton squelette
- y copier les formulaire que tu désir modifier (il serons donc surchargé)
- y effectuer toutes les modifications necessaires en fonction de tes besoins.
Le plugin utilisera tes propres formulaires plutôt que ceux proposé par défaut.
oui :
la valeur « value » est obligatoire, car si l’utilisateur choisi un mot-clé, il faut obligatoirement transmettre l’id de ce mot clé au plugin afin qu’il puisse le lier à l’article.
<option value="#ID_MOT">
j’ai rectifié :
code modifié :
j’ai mis 0 pour value. de toute façon, tous les id commencent par 1
et ça marche
pour la personnalisation des formulaires, oui j’utilise toujours le répertoire squelettes/formulaires Merci
Heu oui, un bug est apparu dans les modfis que je venait de faire qui empeché ceci, c’est maintenant corrigé
C’est fait, deux options sont apparue dans l’interface de config qui permettent d’activer ou de désactiver le type image et/ou le type document.
De plus une nouvelle option permet d’imposer un type de document automatiquement, de ce fait si cette option est choisie alors la possibilité de choisir le type de document disparaitra du formulaire.
Je prefere laisser en l’état, car je préfere laisser à l’utilisateur la possibilité de choisir ces mots-clé au fur et a mesure qu’il rédige son article. De plus pour l’affichage des mot clé choisi, j’ai besoin qu’ils soient préalablement lié à l’article en crous de rédaction, donc enregsitré dans la base.
sorry, je me suis mal exprimée :
je veux dire, pourquoi pas supprimer le bouton Ajouter mots clés. les mots clés seront validés en même temps que l’article. envoyer deux formulaires c’est un peu lourd.
et d’ailleurs, c’est valable pour les documents. y en a qui ne cliqueront pas sur le bouton abandon—>le serveur se trouvera submergé par des docs fantômes (enfin les docs sont chargés après validation par Ajouter non ??!)
je ne vois pas l’option permettre aux rédacteur de s’identifier ? ppouvez-vous m’aider car toutes mes publications passe en anonymous
Répondre à ce message
Bonjour,
Je suis à la recherche d’une intégration d’un formulaire d’upload dans la partie publique de mon site pour chaque article.
J’ai vu votre contrib et je me suis dit que j’allais extraire ce qui m’intéressait ; hélas, cette contrib forme un tout ; et je n’y arrive pas.
Accepteriez vous de me donner un coup de main ?
Comment devrais je faire pour intégrer la possibilité d’uploader un document dans un article existant ?
(Hélas, je ne peux pas utiliser votre plugin car j’ai une erreur de startsession(). Apparemment, il y a un conflit avec le startsesion() de mon captcha).
Merci pour votre aide.
je crois que le plugin crayons permet d’éditer en public des élément d’un article. peut être qu’il y a la possibilité d’éditer/ajouter des documents joints.
jettes-y un coup ,d’oeil.
hélas non on ne peut qu’éditer/modifier le nom d’un doc (voir le nom du fichier), mais pas ajouter...
Une autre solution ?
merci pour votre aide
Répondre à ce message
Bonjour,
je voudrais savoir s’il est possible d’intégrer #FORMULAIRE_ARTICLE dans des squelettes différents en faisant apparaitre des rubriques openPublishing différentes pour chacun d’entre eux ?
Il semble que formulaire_article.html retourne obligatoirement toutes les rubriques openPublishing sans possibilité de filtrer.
Merci de votre réponse.
Bonjour,
bah, je crois qu’il suffit de changer le code :
en modifiant les critères d’affichage. par exemple, remplacer le critère tout par id_rubrique=xx si vous voulez afficher juste la rubrique xx. ou bien id_rubrique==^(xx|yy)$ ou id_groupe=yy. enfin selon ce que vous cherchez.
biensûr ces rubriques doivent être OpenPublishing, sinon la liste sera vide.
Cette modif, doit être faite dans le squelette formulaire_article.html que vous aurez créé dans squelettes/formulaires pour pas toucher le code du plugin si jamais ça déconne.
voilà.
Répondre à ce message
salut,
ne serait-il pas mieux de mettre les rubriques sous forme hierarchique.
lorsque les sous-rubriques sont nombreuses la liste devient trop longue, car toutes les rubriques et sous rubriques sont affichées à la fois.
Merci
Répondre à ce message
Bonjour,
euuh, oui, je sais je demande trop p’tetre, mais c’est pour améliorer le plugin alors ne me tirer pas les cheveux svp ;-)
dans la partie config du plugin, on nous demande de donner la page de redirection
généralement, on veut retourner à la page d’avant (rubrique ou article...), ou bien se diriger vers la rubrique dans laquelle on a publié le nouvel article. Donc ça doit être automatique et inconnu d’avance !!!
pourquoi pas permettre de choisir une page de redirection par défaut + une case à cocher si l’administrateur veut une redirection automatique ??!!
ça serait génial non ?!
@+
je vais regarder ça :) je garanti de le faire aujourd’hui mais ce sera fait.
Merci beaucoup beaucoup. t’es génial Edd.
Répondre à ce message
Bonjour à tous !
Est-il possible d’ajouter un champ à renseigner ? Par exemple un champ « Descriptif » ?
Deuxième question (oh le gourmand !) : comment peut-on paramétrer les temps de redirection ?
Merci d’avance
Bye
assez facile pour le 1er point s’il s’agit d’utiliser un champ déjà en place (changer le nom groupe par autre chose par exemple ), en modifiant à la main les fichiers du plugin : opconfig_fr.php pour les textes par exemple.
pour la redirection, pareil, changer dans le fichier qui contient la balise de redirection « meta refresh » le délai en secondes, il n’y a pas tant de fichiers ça devrait se trouver facilement ;-)
question (cf ci-desous) : vous utilisez l’option d’upload, ça marche chez vous ?
sachant que je ne suis pas du tout codeur… ça va être dur dur… je suis un peu perdu.
j’essais de me lancer, mais si l’un d’entre vous a envie de me donner un petit coup de main, je suis preneur.
le temps de redirection sera parametrable dans la prochaine version du plugin (d’ici une a deux semaines).
Tous les champs proposé par spip seront disponibles (et activable ou pas) dans la prochaine version. (dans une a deux semaines)
aaaaah super !!!
j’attends ça avec impatience ! ;-)
Répondre à ce message
pour ma part, sur spip 1.9.3, erreur « Warning : Unknown(spip.php ?page=404) : failed to open stream : No such file or directory in (...)/ecrire/public.php(173) : eval()’d code on line 5 »
sans doute dû à ma config, mais je ne trouve pas... 404.html existe bien...
par ailleurs ça marche en enlevant tous les formulaires inclus dans formulaire_article.html
[(#ENV*formulaire_motclefs)]
[(#ENV*formulaire_tagopen)]
[(#ENV*formulaire_documents)]
[(#ENV*formulaire_agenda)]
c’est sûrement bête, mais impossible de trouver, si quelqu’un a une idée...
oui, le plugin n’est pas compatible 1.9.3.
Répondre à ce message
Bonjour,
j’ai encore un soucis avec les id des auteurs :
Id de l’auteur anonymous est le 999, je ne sais pas si je peux changer cela, c’était configuré ainsi par défaut.
Les auteurs que j’ai crée après l’installation du plugin, via le site privé, ont des id à partir de 1000, et cela semble causer des problèmes. Ma page auteur n’est pas affiché correctement : pour l’auteur 999 elle m’affiche bien l’auteur anonyme avec ses articles, mais pour les auteurs inscrit par après, via l’espace privé cela me retourne un erreur « Il n’y a pas d’auteur à cette adresse ».
Que faire ?
merci d’avance
joz
la prochaine version du plugin laissera à spip le soin de créer l’auteur anonyme (donc plus de problème au niveau de l’auto-ident des auteurs)
Répondre à ce message
bonjour,
quelqu’un peut il me dire si ce plugin est compatible :
- spip 1.9.2d
et si il permet lorsque le plugin agenda est activé, d’ajouter non seulement un article mais un évenement ?
merci
Pietrus
je viens de tester sur spip 1.92d , cela ne fonctionne pas.
lorsque que l’on ajoute un article :
- impossible de joindre un document
- quand on valide le formulaire d’article , l’article n’apparait pas dans l’espace privé
une compatibilité est elle en préparation ? bientot ?
merci
non, ça ne marche pas bien en effet (cf ci-dessous, c’est en cours d’évolution).
...et c’est dommage, rudement pratique ;-)
pour les histoires d’agenda, un systeme est mis en place dans la prochaine version, permettant à d’autres plugins de venir ajouter un bout de formulaire dans les traitements d’openPublishing.
gestion des documents et le plugin lui-même fonctionnerons sous spip 19.2d avec la prochaine version du plugin (d’ici une a deux semaines)
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 :
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.
Suivre les commentaires : |