Écrire un texte depuis l’espace public pour SPIP 1.9

Cette petite modification d’une ancienne contribution permet d’écrire un article depuis l’espace public de votre site.
Ce n’est pas tout à fait à dire vrai un « plugin » mais plutôt un squelette qui fonctionne sans problème sous spip 1.9
Quelques améliorations ont été ajoutées à la version antérieure.

  1. Compteur de caractères ( bloqué à 1700 mais modifiable dans la source javascript de la page)
  2. Obligation de la selection de la rubrique (Il est bien entendu possible de limiter les rubriques de manière classique dans la boucle {id_rubrique!=xx} )
  3. Le webmaster reçoit un mail pour le prevenir de l’arrivée d’un nouvel article (adresse à remplacer dans le code php de la page)

Ce petit squelette mérite sans doute des améliorations (voir même la création d’un vrai plugin pour détacher le php de la page html)

À noter : Le texte est auto-publié et le forum attaché à l’article est en mode sur abonnement

J’ai tenté de faire un petit plugin avec mes modestes moyens n’ayant pas encore tout compris dans la réalisation de ceux-ci.
Il fonctionne néanmoins
La petite différence avec le squelette ci-dessus, c’est que la page se rafraichit après la validation du texte, redirigeant l’internaute vers la page sommaire qui se recalcule
Mais je serais très heureux de participer à l’élaboration d’un véritable plugin plus strict.

Discussion

12 discussions

  • bonjour j’ ai était sur se cite pour pouvoir écrire une annonce sur des peluche mais j’ ai eut de la chance et je suis tombé la dessus sur SPIP contrib et je trouve que c’ est superbe bien car la dernière fois j’ ai chercher un cite dans ce genre et je n’ ai pas trouver mais la je l’ ai trouve de 1 et de 2 il est mieux que celui que j’ aurais voulu voir la dernière fois alors je dit CHAPEAUX !!!!!!!!!!!!!!!!!

    Répondre à ce message

  • 9

    Salut,

    Je trouve cette contib trés prometteuse :)

    Je serai ravi de la tester, mais je voulais savoir si il existe une release permettant l’ajout d’un ou de document(s) au article ?

    Merci encore pour ce fabuleux travail.

    Cdlt,

    • Je suis en train de revoir ce plugin actuellement. Il se présente sous forme d’une balise tout simplement que l’on peut glisser où on le souhaite.

      On peut joindre un logo_article, ainsi qu’un mot clé choisi dans un seul groupe hélas.

      Malheureusement il est pour le moment impossible de joindre des documents.
      Je poursuis et j’espère bien aboutir.

    • Super !

      J’avoue avoir essayé d’implémenter l’ajout d’un document, mais jen ’y suis pas arrivé donc je compte sur vous ;)

    • B,

      Merci pour ta réponse. Qu’es ce qui te bloque dans l’ajout de document ? Ne serais pas possible de piquer du code du modile ajout de document dans la partie admin ?

      Quand penses tu release une version stable du plugin ? Cette outil sera vraiment le bienvenu :)

      @+ et merci encore du taff accomplie :)

      ++

    • En fait c’est juste un petit problème technique. Puisque l’article n’existe pas encore je ne peux pas lui donner un id. J’avais pensé faire un id+1 mais si on dispose du plugin poubelle, on risque de décaler tous les documents d’un cran dans l’id de l’article ( avec la jointure de tables)..

      En fait, cela vaut la peine tout de même d’essayer en déconseillant l’usage de « poubelle ».

      Je fini un plugin anti spam et je reviens vers celui-ci.

      Pour la v stable, c’est pas evident non plus. Il faut être sûr de soi, et pour l’instant, ce n’est pas le cas ;)

      Bernard

    • si ca peut t’aiguiller, ce que j’ai fait dans le cadre de ton plugin pour pouvoir rajouter une date d’agenda directement (plugin agenda), c’est de faire une boucle avec le DERNIER ARTICLE publié. Il choisit donc l’article que je viens de creer et je peux assigner une date à cet article. Pas possible de faire la meme chose pour les pieces jointes ?

      (systeme imparfait évidemment, notamment si 2 personnes rédigent en meme temps, risque de probleme...)

    • Merci, je vais tenter un truc dans ce genre.

      Je pensais mettre une archive aujourd’hui de ma nouvelle version, mais je me rends compte que j’ai tellement personnalisé ce plugin pour mes besoins persos, qu’il n’est plus exploitable en l’état. Je vais donc tout reprendre de A à Z pour refaire quelque chose de 1000 fois mieux.

      Donc
      -  Téléchargement d’un logo article
      -  insertion d’un mot clé ( actuellement le champ est obligatoire et ça c’est gênant), d’autre part je ne sais faire que que lister tous les mots clés de tous les groupes mais l’ajout d’un mot clé ne se fait que sur un groupe défini au départ
      -  Téléchargement d’un document ( en fait je viens de comprendre, c’est pas trop compliqué, le seul souci, c’est qu’il ne faut pas poster en même temps ( comme dans ton exemple) et qu’il ne faut pas utiliser le plugin poubelle. En effet Poubelle vire de la base de données l’article. Si c’est le dernier, c’est très embétant car l’auto increment ( qui me sert à charger le document) n’est plus le bon ! Alors que la mise à la poubelle d’un article par spip, n’efface pas l’article de la base mais change le statut. Donc mon auto incrementation est bonne dans ce cas là.
      -  Ensuite j’ai rajouté une feuille de style au formulaire, mais là ce sera au choix de l’utilisateur ;)
      -  On peut imaginer encore le rajout d’une barre montrant des smiley’s et leurs codes si l’on utilise ce plugin.

      Bref, il reste pas mal de choses à revoir.

      Ah oui dernier point et pas positif :

      Comme je passe maintenant par une balise, je ne trouve pas l’astuce pour que les champs noms et emails soient pré remplis. Ça ça m’embête beaucoup..

      Alors bien entendu toutes vos propositions seront les bienvenues !

    • je crois que le plugin openPublishing intégrait cela, tu peux peut être regarder le code pour t’en inspirer ( le ficher formulaire_document je pense t’intéressera)

    • tu dit n importe quoi

    • Bonjour, est ce que l’intégration d’un formulaire d’upload de document a avancé ?

      Merci ;)

    Répondre à ce message

  • 2

    Bonjour,

    Votre contribution est fort utile ; mais j’ai un souci avec l’indexation des articles rédigés et publiés via votre plugin. Ils ne sont pas indexés par le moteur de recherche de spip.

    J’ai essayé pourtant de rajouter ’idx’ dans INSERT INTO et ’oui’ dans VALUES, mais ca ne semble rien changer. Mes autres articles sont bien indexés. QUel pourrait etre le probleme ?

    MErci de votre aide !

    • Très honnêtement, je ne sais pas pourquoi

      Désolé

    • Hélas, j’ai beau reprendre la chose dans tous les sens, je reste bloqué.

      en fait, la non intégration du contenu de l’article publié depuis l’espace public ne touche que le contenu de l’article. SI je mets par la suite un document par exemple en pièce jointe à cet article, il sera indexé pr le moteur de recherche !

      C’est tres embetant car mon site est avant tout un site de gestion d’informations.

      J’ai regardé dans la sql et c’est vraisembablement pas dans « SPIP_ARTICLES » que ca doit se passer. En meme temps, je vois pas du tout comment faire pour corriger ce gros probleme.

      Si vous mettez à jour ce plugin, accepteriez vous de jeter un oeil à ce souci ?

      Merci encore pour ce plugin fort utile

    Répondre à ce message

  • 4

    Bonjour,

    j’ai un souci avec votre plugin :

    -  il me permet bien de creer un nouvel article (qui apparait comme étant EN LIGNE dans l’interface d’administration de mon site) ; par contre, il n’apparait pas dans ma boucle des derniers articles publiés sur le site, à moins que je fasse une modification dans l’article !

    Pouvez vous m’aider ?

    Voici la boucle en question :

    < BOUCLE_sommaire_articles( ARTICLES) par date_modifinversedoublons0,12 >

    #TITRE

    < BOUCLE_revision(spip_versions)id_article0,1par date inverse>Modifié par (#ID_AUTEUR[, (# DATE_MODIF|date_relative)]

    < / BOUCLE_sommaire_articles >

    Merci pour votre aide !

    • C’est sans doute à cause de l’élément de classement par date : par date_modif dans la boucle ARTICLES.

      Comment puis je faire pour que l’article créé apparaisse dans cette boucle qui est fonctionnelle vu que tous mes autres articles apparaissent directement.

      merci

    • Bernard Blazin

      Bonjour,

      Il y a en effet plusieurs petits bugs dans ce plugin. Je suis en train de le revoir car si vous regardez dans la base de données les articles publiés par ce mode opératoire, l’id_Secteur n’est pas renseigné et les colonnes de date_modif et date_redaction sont toutes à zero !

      Je vais donc revoir ce plugin en évitant d’ailleurs le code php dans la page et en créant une balise #FORMULAIRE_ARTICLE_EXTERNE ce qui évitera la page blanche de redirection. Ensuite je vais y adjoindre une liste déroulante pour choisir la langue, celle ci n’étant pas renseignée non plus.

      En attendant ce que vous pouvez faire si vous connaissez un peu le php, c’est de rajouter dans L’iNSERT les colonnes manquantes soit date_modif qui peut être dans un premier temps la date de maj..

      Sinon, contactez moi par l’intermédiaire de mon site de la plume et l’encrier sur la page contact, je vous enverrais un plugin légèrement modifié.

      Merci de me tenir au courant Pour la suite des opérations ;)

    • Merci pour vos renseignements.

      J’ai essayé le modification suivante ligne 41 :

      $sql = « INSERT INTO spip_articles (surtitre, titre, soustitre, id_rubrique, descriptif, chapo, texte, ps, statut, accepter_forum, date, date_redac) VALUES (’$surtitre’, ’$titre’, ’$soustitre’, ’$rubrique’, ’$descriptif’, ’$chapo’, ’$texte’, ’$ps’, ’publie’, ’pos’, ’$date_heure’, ’$date_heure’) » ;

      J’ai rajouté « date_redac » dans l’insert et « $date_heure » dans Values. mais can e fonctionne pas. Je suis dans la bonne voie ?

      merci pour votre aide !

    • Ca marche !

      Juste remplacé « date » par « date_modif »

      Excellente contrib !

    Répondre à ce message

  • 1
    all secu

    bonjour,

    merci pour le plugin qui fonctionne bien (j’ai du lacher openpublishing pour incompatibilité 1.9.3 dev)

    Y a t-il un moyen de joindre un document à l’article ?

    • Bernard Blazin

      Hélas pas encore ! Je retravaille ce plugin dans ce sens..

    Répondre à ce message

  • 3
    Pierre-Henri Jondot

    Voilà une contribution qui m’intéresse fortement !

    Cela semble marcher à peu près (test en local) pour moi, avec toutefois un bug : lorsque un article est composé (avec article_proposer) puis publié au sein d’une rubrique qui était vide, celle-ci est, du moins sur la partie publique du site, toujours considérée comme telle (vide), si bien que la rubrique n’apparaît pas dans la liste des rubriques...

    Pire, lorsque on essaie d’afficher les articles de la-dite rubrique avec spip.php ?rubrique## on a droit à une erreur 404...

    L’article publié est bien visible depuis la partie privée, et si on ajoute un article composé depuis la partie privée, l’article jusque-là caché dans la partie publique réapparaît...

    • Bernard Blazin

      Oui en effet si la rubriue est vide, c’est exactement le même cas qu’un redacteur inscrit qui ne fait rien dans le site... Donc zero.

      Allors bug, pas bug je ne sias pas il faudrait filtrer les rubriques vides et non vides... Un petit travail interessant en effet..

      Je te conseille pour l’instant de revoir la boucle de la liste déroulante des rubriques pour ne pas faire apparaitre les rubriques vides...

      Arfff... drole de solution !! :)

    • Pierre-Henri Jondot

      Merci pour cette réponse, mais je ne suis pas certain d’avoir été compris : les rubriques qui apparaissent comme vides et, du même coup, inexistantes dans l’espace public ne le sont pas forcément et c’est cela que je considère être un bug.

      Voici ce que j’ai fait :

      Créer une nouvelle rubrique (pour l’instant vide)

      Ecrire un texte depuis l’espace public dans cette rubrique : il apparaît immédiatement dans la page de sommaire dans les derniers articles publiés (tout va bien jusque là), il n’en va pas de même, y compris après recalcul sur le serveur, vidage du cache du navigateur, de la rubrique nouvelle toujours invisible dans le menu de droite (déjà un peu embêtant...)

      Pire, en visualisant le nouvel article, en cliquant sur <> (j’utilise essentiellement les squelettes par défaut) erreur 404...

      Pour moi, c’est un bug !

      La seule solution viable que j’ai trouvée pour l’instant est de créer un article bidon dans chaque rubrique créée depuis l’espace privé, et à partir de ce moment, plus de problème... Mais ce n’est pas vraiment satisfaisant.

    • Pierre-Henri Jondot

      Lire un peu plus haut : en cliquant sur « Dans la même rubrique »

    Répondre à ce message

  • 1

    Bonjour,
    superbe contribution, j’avais écrit quelque chose d’équivalent pour 1.7 mais je n’ai pas eu le courage de l’adapter.
    J’ai quelques questions/soucis
    -  pourquoi mettre le statut au départ à $passw ce qui fait que si les mails n’arrivent pas au webmaster, l’article est perdu dans la base, car invisible depuis l’espace privé ? Ne serait-il pas plus sage de mettre le statut à ’prop’ et stocker le $passw ailleurs (par exemple, dans « url-propre » ?
    -  penses-tu possible de gérer les mots-clefs ?
    -  idem pour les documents et logos associés à l’article ?

    D’autre part il traine dans le fichier les commentaires suivants

    // Pour utiliser cette balise, vous devez disposer de trois autres fichiers
    // - formulaire_redacteur.html (a placer dans votre dossier formulaires)
    // - local_fr.php (a placer dans votre dossier ecrire/lang)
    // - assembler.php (a placerdans ecrire/public en lieu et place du fichier de meme nom
    
    // ATTENTION
    
    // Ce fichier assembler.php appartient au noyau de SPIP. 
    // Lors d'une mise a jour, il faudra a nouveau modifier ce fichier assembler.php
    // en y placant la fonction supplmentaire qui y est ajoutee.

    je pense que c’est faux, maintenant, avec la gestion des plugins ?

    Merci beaucoup pour ce travail

    Michel

    • Merci, mais je n’ai fais que reprendre une ancienne contribution..Peut-être la tienne d’ailleurs ?

      Pour les mots clés je pense que ce doit être possible par contre pour les documents joints cela me parait plus délicat..Mais enfin, je ne me suis pas vraiment posé la question.

      En fait ce plugin répondait à un de mes besoins c’est pour celà que j’avais décliné le tout en statut edité. Effectivement il est plus sage de placer l’article en « prop » ne serait ce que pour la modération des articles.

      Il y a pas mal de choses effectivement à reprendre dans ce plugin et si le coeur t’en dit, je veux bien m’y mettre avec toi pour apporter les modifs necessaires

    Répondre à ce message

  • 1

    Bonjour, bonne année et...merci pour cette contribution, je l’ai un peu bidouillée en la mélangeant au plugin accès restreint (donc pas de php sur la page de départ, et retour sur page inscription si pas loggué au lieu d’une page blanche) et avec la configuration par mot clé du squelette (je crée un article qui a pour mot clé proposer et article-proposer.html reprend le texte-commentaire de mon article et ensuite le formulaire java). Et effectivement cela permet à mes auteurs de publier sans efforts des cas cliniques. Merci encore.

    • Merci pour ce retour.
      J’ai fabriqué un petit plugin qui fonctionne de la même manière et qui permet également de corriger un article depuis l’espace privé, si cela peut être utile ? (Il est aussi sur ce site)
      Bravo pour les modifications !

      Bernard

    Répondre à ce message

  • J’ai également un besoin similaire pour des personnes identifiées en tant qu’auteur dans spip

    J’ai fait un fichier Php générant le formulaire que j’ai placé dans un plugin et en bas de chaque page à modifier je met un lien vers ce fichier du style
    <a href="./ecrire/?exec=monarticle&id_rubrique=#ID_RUBRIQUE"> - modifier - </a>
    l’appel déclenche l’authentification spip ( comme quand on place le fichier dans ecrire/exec)
    Par contre pour l’instant je n’ai pas rajouté la saisie des images et doc qui serait bien utile.

    Quel est la solution la plus propre : Faut-il utiliser un fichier squellette avec du PHP à l’intérieur comme dans cette contrib ou un fichier PHP placé dans un plugin ( ou dans ecrire/exec..) ?
    Pourriez vous nous expliquer l’intêret de passer par des widgets depuis l’espace public dans ce cas ?
    avec les widgets sera t-il possible de mettre des images et document dans l’article ?

    Répondre à ce message

  • 3

    Je cherche un outil pour permettre à des personnes malvoyantes ou handicapées motrice, d’écrire dans un site en spip. Comme l’interface d’administration leur semble trop chargée, ceci est évidemment une solution assez intéressante. Reste à fournir par rapport à ce besoin un minimum de gestion : pouvoir corriger, pouvoir ajouter une image, etc. Ceci est j’imagine, un travail d’un autre ampleur. Merci tout de même.

    • J’ai fait sur une version 1.8 la même chose effectivement donc dans le sens inverse. C’est à dire la possibilité de corriger ses propres textes depuis la partie publique. J’avais du créer une table supplémentaire pour faire une boucle session, mais je ne sais pas si cela est possible en 1.9 avec mes modestes connaissances de cette version. Je vais y réflechir ( Sur la 1.8 j’avais touché au noyau et c’est à eviter).
      Cependant je pourrais peut être offrir une solution mais elle me semble lourde au niveau codage php et surtout au niveau de la requête.
      Je vais me pencher sur la question. Pour l’upload d’images, là c’est une autre affaire ! :o)

    • Un plugin est en préparation, qui pourrait révolutionner l’interface d’édition (sur le site public) : ça s’appelle pour l’instant widgets et c’est dans la partie « _dev_ » de spip-zone.

      (Quoi, un peu de teasing ne fait pas de mal ! Et si vous voulez participer on vous attend.)

    • Avec joie ! Heu ! Par contre l’Url pour s’enregistrer c’est comment exactement ?

      Sur la 1.8.3 j’avais réussi à faire la modif des articles, l’effacement des articles et pas mal d’autres choses qui sont sûrement d’avant garde pour un SPIP et encore plus pour une 1.8. Je participerai donc avec un grand plaisir

      Merci

      Bernard

    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