Formulaire de contact libre

Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs.

Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un formulaire de contact sur son site sans avoir à créer un auteur spécifique ou autre ruse de ce style.

C’est pour répondre à ce besoin simple qu’est né le plugin contact libre. Il reprend le même principe de fonctionnement que les formulaires de contact de SPIP.

Comment utiliser le formulaire

Le formulaire accepte trois arguments en paramètres :

  1. le premier argument est l’adresse email du destinataire du formulaire,
  2. le deuxième argument est une URL qui sera insérée en fin du mail envoyé pour référence (cet argument est optionnel),
  3. le troisième argument permet de spécifier le sujet par défaut affiché dans le formulaire (cet argument est optionnel).

Dans le texte d’un article (ou d’un autre objet de SPIP) vous pouvez appeler le formulaire à l’aide du code suivant :

<formulaire|contact_libre|email=truc@domaine.net>

Et si vous souhaitez définir uniquement le sujet du message :

<formulaire|contact_libre|email=truc@domaine.net|url=''|sujet=hop>

Vous pouvez aussi utiliser le formulaire dans vos squelettes :

#FORMULAIRE_CONTACT_LIBRE{truc@domaine.net}

Autre exemple depuis un squelette article en utilisant tous les arguments du formulaire :

#FORMULAIRE_CONTACT_LIBRE{truc@domaine.net,(#URL_ARTICLE|url_absolue),'Mon super sujet de message'}

Informations complémentaires

Le formulaire de contact libre est automatiquement protégé des robots spammers si vous avez activé le plugin NoSPAM sur votre site.

Discussion

36 discussions

  • 2

    Merci pour ce super plugin. Y aurait t-il un moyen de rentrer le sujet dans le code réservé à l’insertion dans un article ?
    Merci de votre aide

    Répondre à ce message

  • sebastian

    Je ne parle pas français et je besoin d’aide.
    Je besoin de supprimer le champ « sujet » et changer le étiquette < : message d’envoyer :> À partir du fichier contact_libre.html mais je ne l’ai pas eu des résultats. A également demandé comment je personnaliser (CSS) qui vient email à l’auteurMerci pour les réponses.
    Sebastian.

    Répondre à ce message

  • 6

    Bonjour,

    Je viens d’installer le plugin contact libre sur spip 3, et j’ai ajouté un lien de contact dans un article. Tout se passe lors des essais si je suis connecté en administrateur, le formulaire récupère mon adresse email. Mais si je me déconnecte et fais un essai en tant que visiteur, j’obtiens une erreur : Warning : Illegal string offset ’email’ in /var/www/legtux.org/users/mptchapelle/plugins/auto/contact_libre/v0.1.3/formulaires/contact_libre.php on line 9
    Comment résoudre ce problème ?
    Merci

    • Salut, il me faudrait plus d’infos pour t’aider :

      • quelle syntaxe as-tu utilisé pour insérer le formulaire ?
      • une url vers la page en question serait utile

      ++

    • Bonjour,
      Quelques infos complémentaires

      Dans l’article j’ai saisi : formulaire|contact_libre|email=mptchapelle@free.fr (entre <....>)

      et le lien vers la page est http://mptchapelle.fr.nf/spip.php?article148

    • Ha ok, je ne reproduis pas chez moi, mais j’ai une piste. Peux-tu tester cette modification ?

      Au début de formulaires/contact_libre.php à la ligne 5 en ajoutant ceci : include_spip('inc/session');

      Tiens moi au courant si ça règle le problème.

    • Merci mais pas de changement, il semble que si personne n’est connecté au site, il signale une erreur.
      Ce qui est bizarre, c’est que le message n’apparaisse pas chez toi.
      Faut il que j’essaie sur un autre ordi bien que j’aie vidé le cache...

    • OK, merci d’avoir testé, j’ai publié un correctif ici :

      http://zone.spip.org/trac/spip-zone/changeset/66061

      Le zip sera à jour dans la journée, merci pour le signalement de bug.

      ++

    • Merci, c’est nickel.
      dépannage super rapide et efficace

    Répondre à ce message

  • 3

    Très pratique ce formulaire, mais l’adresse électronique reste visible dans le code source de la page donc des robots spammeurs :(

    Répondre à ce message

  • 2

    Bonjour,

    Par défaut, le formulaire de contact libre affiche le label « Adresse email » (qui correspond à la chaine de langue SPIP entree_adresse_email_2)pour le premier champ de saisie. J’aimerais que soit affiché à la place le label « Votre adresse email » (qui correspond à la chaine de langue SPIP entree_adresse_email).

    Dans les modèles, il y a une description du formulaire en yaml : formulaire_contact_libre.yaml qui mentionne cette chaine de langue. Est-ce que je dois donc faire une surcharge de cette description en remplaçant entree_adresse_email_2 par entree_adresse_email, ou faire une surcharge directement du formulaire lui-même ? Ou existe t’il une autre solution ?

    Merci d’avance !

    Répondre à ce message

  • Bonjour,
    Quelques infos complémentaires

    Dans l’article j’ai saisi : formulaire|contact_libre|email=mptchapelle@free.fr (entre <....>)

    et le lien vers la page est http://mptchapelle.fr.nf/spip.php?article148

    Répondre à ce message

  • 2

    Bonjour b_b,

    est-il envisageable de créer un nouvelle branche de ce plugin, spécifique à SPIP 3.0 et 3.1, utilisant le plugin Saisies pour formulaires ?

    L’utilisation de Saisie permettrait de simplifier la surcharge avec des framework CSS (Bootstrap, Foundation, etc.).

    Je veux bien m’en occuper...

    Peetdu

    • Hmmm, j’ai un doute sur le fait d’ajout cette dépendance à saisies. Le plugin contact libre est très simple depuis le début et il n’a jamais nécessité d’utiliser saisies. Du coup, je trouverais dommage d’ajouter cette dépendance uniquement pour quelques classes toutes utiles à différents frameworks.

      L’utilisation de Saisie permettrait de simplifier la surcharge avec des framework CSS (Bootstrap, Foundation, etc.).

      Je ne comprends pas très bien, tu veux dire que tu surchargerais directement les squelettes des saisies plutôt que celui du formulaire de contact libre ?

    • Ma demande était un peu elliptique, mais oui, tu as bien compris ce que je voulais dire :)
      Saisies factorisant l’écriture des formulaires, il devient rapide d’adapter suivant tel ou tel Framework CSS le code HTML généré. (reste le problème des ’ul’ avec Bootstrap, Foundation, Knacss, etc. Mais bon…c’est un autre sujet).

      Saisies prend également en compte la norme HTML5 si le Webmestre choisi cette option dans le back-office de SPIP.
      Exemple le champ ‘email’.

      Du coup, il me semble que le plugin Contact libre deviendrait encore un peu plus « Click & Play » ?

    Répondre à ce message

  • 1

    Bonjour,

    J’ai installé ce plugin sur un site l’année dernière et le destinataire ne reçoit jamais les adresses du visiteur. J’ignore s’il s’agit d’un conflit avec d’autre plugin, d’une sécurité automatique ou d’une erreur dans le script. A quel endroit puis-je le vérifier ?
    Dans contact_libre.html je n’ai rien trouvé d’anormal et pas tout compris.
    Mais j’ignore tout le reste je ne sais pas comment procéder pour les tests. Merci pour votre aide.

    • Salut,

      « le destinataire ne reçoit jamais les adresses du visiteur »

      Que veux tu dire exactement ? Les mails envoyés par le formulaire utilisent une autre adresse que celle entrée dans le champ prévu à cet effet ?

      ++

    Répondre à ce message

  • 7

    Bonjour,
    (c’est la première fois que je laisse un message, j’espère que je vais bien expliquer) :
    j’ai installé le plugin sur mon site http://www.vicgallery.com/spip.php?... qui est en spip 2.0.10 modifié
    tout fonctionne bien, je reçois les messages, la page de prévisulisation s’affiche bien, mais pas la confirmation d’envoi des messages, les visiteurs se retrouvent devant une page blanches

    précisions : j’ai installé ma balise

    <?php include_once("/opt/nursit/sys/home/nursit/matrice/public/4.2/07/spip/ecrire/balise/formulaire_.php"); if ($lang_select = "fr") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_FORMULAIRE__dyn(arguments_balise_dyn_depuis_modele('FORMULAIRE_CONTACT_LIBRE'), 'contact@vicgallery.com'), array('', '', '', '', 'fr', '1')); if ($lang_select) lang_select(); ?>

    dans le texte d’une rubrique car cela m’arrangeait mieux ainsi. est-ce la cause du pb ? si oui que faut-il modifié ? j’ai « relu » tout les fichiers du plugin plein de fois, mais je ne trouve pas ou changer la ligne de code....

    pouvez vous m’aider s’il vous plait ?

    merci pour vos réponses

    • Salut, une page blanche est souvent due à une erreur PHP. Pour afficher ces erreurs tu peux suivre les recommandations de cette doc :

      http://www.spip.net/fr_article4453.html?var_recherche=debuggage#infos_plus

      Avec le message d’erreur on devrait en savoir un peu plus sur ton problème :)

    • bonjour, et merci pour cette réponse

      je n’ai pas de fichier mes_options.php dans config, comme indiqué dans la doc
      si je le crée en ajoutant la ligne de texte indiquée, cela me fait tout planté...

      je reconnais que je suis pas très balèze dans le domaine, je sais modifier des choses mais pas les créer

    • mes_options est un fichier php, il faut donc y coller le code suivant dans ton cas :

      <?php
      
      error_reporting(E_ALL^E_NOTICE);
      ini_set ("display_errors", "On");
      
      ?>

      ++

    • ah merci :)

      donc ok j’ai bien créé le fichier comme dis, vidé le cache ensuite, puis retenter d’envoyer un message. tjs page blanche mais pas d’info

      j’ai essayé aussi &var_mode=debug dans l’url mais rien

    • Il va falloir que tu regardes ce que « disent » les logs dans tmp/spip.log du coup...

      Hésite pas à passer sur IRC pour en causer si tu veux : http://irc.spip.net/

    • c’est gentil de m’avoir aidé

      c’est trop compliqué pour moi tout ça... suis une petite programmatrice à deux balles :)

      j’ai essayé de mettre le formulaire dans un article au lieu d’une rubrique ça bug autant

      tant pis je vais mettre un lieu vers le formulaire auteur de la page spip de base...

      merci en tout cas :)

    • re salut !

      pour info à ceux qui rencontrerai le même pb :

      pour une raison trop compliqué pour moi, c’est le fait d’avoir installé une version plus récente de spip-bonux qui me faisait planté

      cela fonctionne bien en remettant l’ancienne version

      pour l’instant je ne reçois plus les messages mais je pense que c’est le fait d’en avoir envoyé 300 000 qui doit avoir déclencher un anti-spam ou un truc du genre

      si l’un d’entre vous avait la gentillesse d’essayer pour moi : http://www.vicgallery.com/spip.php?..., ce serait sympa

      merci en tout cas :)

    Répondre à ce message

  • 1

    Bonjour,

    Y aurait-il moyen de rajouter un champs dans le formulaire pour uploader des documents (ex : photos) sans être rédacteur ou administrateur (un simple visiteur) ?

    Merci d’avance

    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