FAQ Expression Web, SharePoint Designer et FrontPage

 Questions, aides et astuces, provenant au départ du forum microsoft.public.fr.frontpage.

Formulaires


 1 - Formulaire par courrier
 2 - Formulaire traité en PHP
 3 - Formulaire traité avec ASP.NET
 4 - Erreur lors d'un envoi "mailto"
 5 - Protéger un formulaire avec une image Captcha
 6 - Valider les données saisies avant l'envoi du formulaire
 

1 - Formulaire par courrier

Question 1 Comment puis-je rediriger les résultats d'un formulaire vers mon adresse de courrier personnelle?

Réponse 1 La méthode pour l'envoi du formulaire dépend avant tout du type de serveur. En général, un petit programme d'envoi doit être ajouté à votre site.

Dans ce cas, la méthode à suivre est celle-ci:
1. dessiner le formulaire et son contenu dans une page Web;
2. choisir le programme d'envoi approprié;
3. au niveau du code modifier l'action dans la première ligne du formulaire
   <form... action...>

Pour dessiner le formulaire:
- avec FrontPage, utilisez le menu Insertion, Formulaire;
- avec Expression Web ou SharePoint Designer, affichez le volet de tâches Boîte à outils. Selon le langage choisi pour l'envoi du formulaire, utiliser les outils de la section Contrôles de formulaire (envoi en PHP, CGI ou Perl) ou la section Contrôles ASP.NET.

Un formulaire doit s'adapter aux règles d'accessibilité, afin d'être lisible par tous:
http://ressources.mediabox.fr/tutoriaux/expression/expression_web/ formulaire_accessible
https://openweb.eu.org/articles/formulaire_accessible/

Finalement, pour choisir le programme d'envoi, consultez votre hébergeur car il peut vous offrir un programme déjà prêt. Sinon, demandez-lui quel langage est disponible sur le serveur: PHP, CGI, ASP.NET... (voir les questions suivantes).
Pour éviter d'utiliser les extensions, il y a plusieurs solutions, les meilleures utilisant un programme d'envoi placé sur le serveur. Votre adresse de courrier est alors traitée sur le serveur sans jamais être visible pour le visiteur.

Retour au début

2 - Formulaire traité en PHP

Question 9 J'ai un lien formulaire. Mais quand les internautes essaient de l'expédier, je ne reçois qu'une page blanche. Comment faire pour que les données me soient expédiées à même le formulaire?

Réponse 9   Le plus simple est de vérifier auprès de votre hébergeur s'il offre des outils pour l'envoi d'un formulaire et le langage de programmation requis.

Si vous devez créer vous-même le fichier d'envoi et que le serveur utilise le langage PHP, vous aurez besoin de deux fichiers:
1. celui qui contient le formulaire où la première ligne du formulaire sera remplacé par quelque chose semblable à
<form action="envoi2.php" method="POST" enctype="multipart/form-data">
(remarquez que l'action indique un nom de fichier, lequel devra être modifié);

2. le deuxième fichier (appelé dans cet exemple "envoi2.php") contient les instructions, comme votre adresse et les champs à transférer.
 
Voici des exemples pour écrire ce fichier d'envoi PHP:
http://ressources.mediabox.fr/tutoriaux/php/interactions/envoi-mail
https://www.siteduzero.com/tutoriel-3-14543-transmettre-des-donnees-avec-les-formulaires.html

Retour au début

3 - Formulaire traité avec ASP.NET

Question 7 Comment faire pour réaliser un formulaire qui parte directement, sans transiter par un autre logiciel de messagerie, dans une page de type ASPX?

Réponse 7 Pour dessiner un formulaire dans une page .aspx, dans Expression Web ou SharePoint Designer, utilisez les outils du volet de tâches Boîte à outils, section Contrôles ASP.NET.

Pour plus d'informations, voir:
https://docs.microsoft.com/fr-fr/aspnet/...entering-data
https://dotnet.developpez.com/tutoriels/asp...formulaire/

Retour au début

4 - Erreur lors d'un envoi "mailto"

Question 3 J'ai fait un formulaire dont le résultat est envoyé à une adresse mail avec ce code:
     <form method="post" action="mailto:nom@adresse"  enctype="text/plain">
Ça marche parfois mais pas toujours. Que faire?

Réponse 3 Le problème est que cette méthode "mailto" est assez intrusive (le destinataire du message récupère l'adresse e-mail de l'expéditeur qui ne souhaite peut-être pas la donner) et elle ne fait pas très professionnelle. De plus, de nombreux visiteurs n'ont même pas de logiciel de courrier installé sur leur poste. Et, finalement, la commande mailto ne fonctionne plus dans les systèmes récents. Il faut donc trouver une alternative.

La seule solution "propre" est d'envoyer l'e-mail depuis le serveur Web, mais il faut utiliser un composant mail installé sur le serveur (voir les questions précédentes).

Retour au début

5 - Protéger un formulaire avec une image Captcha

Question 10 Comment intégrer au formulaire de FrontPage un code graphique anti-spam?

Réponse 10 Afin d'éviter que le formulaire soit rempli par un robot, il est parfois demandé à un visiteur de retaper quelques caractères déformés à la fin du formulaire. Ce procédé s'appelle "Captcha".

Mais attention de choisir une procédure ne causant pas de problème d'accessibilité. De plus, les programmes proposés étant souvent en PHP, il faudra vérifier auparavant si ce langage est disponible sur votre  serveur.

Voici quelques liens utiles:
https://fr.wikipedia.org/wiki/Captcha
http://www.yoyodesign.org/doc/w3c/turingtest-20051123/
https://selda.over-blog.fr/article-11997929.html 

Retour au début

6 - Valider les données saisies avant l'envoi du formulaire

Question 8 Comment puis-je indiquer au visiteur qu'un case du formulaire n'a pas été remplie ou que son contenu n'est pas valable ? 

Réponse 8 Pour bien faire les choses, deux types de validation sont requises :
- d'abord en JavaScript, juste avant l'envoi, sans quitter la page, en affichant un message d'alerte si un champ est incomplet;
- puis après l'envoi, sur le serveur, une vérification faite soit en PHP ou en ASPX.

Ces deux étapes se complètent, afin de garantir l'accessibilité du formulaire. Quand le JavaScript est désactivé sur un poste, la validation sur le serveur se fait quand même.

Pour plus d'informations :
https://openweb.eu.org/articles/validation_formulaire 

Retour au début