<?xml version="1.0" encoding="UTF-8"?>
<Document xml:lang="fr">
	<title>FAQ – Wanewsletter</title>
	
	<pr>Voici une liste des questions les plus fréquemment posées, et les 
	réponses correspondantes.</pr>
	
	<chap>
	<title>Comment afficher le nombre d’inscrits sur mon site&#8201;?</title>
	
	<p>Pour cela, insérez simplement cette ligne de code à l’endroit où vous voulez 
	afficher le nombre d’inscrits (prenez soin de mettre la bonne adresse vers le 
	fichier <samp>extra.php</samp>)&#160;:</p>
	
	<pre><code>&lt;script type="text/javascript" src="http://www.yourdomaine.com/rep/options/extra.php?liste=[ID]"&gt;&lt;/script&gt;</code></pre>
	
	<p>Vous devez remplacer <code class="constant">[ID]</code> par le numéro identifiant 
	de la liste de diffusion dont vous voulez afficher le nombre d’inscrits. Vous pouvez 
	également indiquer plusieurs identifiants de liste en les séparant par un signe plus.</p>
	
	<p>Un tel bloc de script affichera immédiatement le nombre d’inscrits en utilisant
	l’instruction JavaScript <code>document.write(string);</code>. Si vous souhaitez
	simplement récupérer le nombre d’inscrits pour un traitement ultérieur, ajoutez
	simplement le paramètre <kbd>use-variable</kbd> dans l’URL d’appel du script.
	Le nombre d’inscrits ne sera dans ce cas pas afficher mais disponible dans une
	variable nommée <code>numSubscribe</code>.</p>
	</chap>
	
	<chap>
	<title>Comment être prévenu de la sortie d’une nouvelle version&#8201;?</title>
	
	<p>Pour être prévenu de la sortie d’une nouvelle version, ou de la découverte
	(improbable&#8201;? :¬) ) d’une faille de sécurité, passez de temps en temps sur
	le site phpCodeur ou, plus simplement, inscrivez-vous à la
	<a href="http://phpcodeur.net/wascripts/wanewsletter/mailing" hreflang="fr">lettre
	d’informations de Wanewsletter</a>.</p>
	</chap>
	
	<chap>
	<title>Comment fonctionne l’importation d’emails&#8201;?</title>
	
	<p>Un utilitaire d’importation d’emails est disponible dans la rubrique "outils"
	de Wanewsletter. Il vous permettra, si vous avez les droits suffisants, d’importer
	des emails directement via un champ texte, en spécifiant l’adresse du fichier sur
	le serveur, ou via l’upload d’un fichier contenant les emails, si votre hébergeur
	autorise l’upload de fichiers.</p>
	
	<p>L’utilitaire accepte également les fichiers au format <abbr>XML</abbr> tels que
	générés par l’outil d’exportation. Un tel fichier a la structure suivante&#160;:</p>
	
	<pre><code><![CDATA[<?xml version="1.0"?>
<!-- Date : [la date] GMT - Format : [le format] -->
<Wanliste>
	<email>address1@example.tld</email>
	<email>address2@example.tld</email>
	<email>…</email>
</Wanliste>]]></code></pre>
	
	<p>L’utilitaire d’importation a été testé avec des importations de masse allant
	jusqu’à 5000 emails (Ce nombre devrait être suffisant). Au pire, vous pouvez
	toujours découper l’importation en plusieurs fois pour assurer le succés de l’opération.
	Une autre solution pour importer plus de 5000 emails en une importation consiste à
	modifier la valeur de la constante <code class="constant">MAX_IMPORT</code> dans le
	fichier <samp>constantes.php</samp> mais ceci n’est pas recommandé&#8201;!</p>
	
	<p>Le script se charge de vérifier chacun des emails, ainsi que d’éliminer les
	éventuels doublons. Si des emails sont refusés, le script génèrera un rapport et le
	sauvegardera dans le répertoire de fichiers temporaires du script (<samp>tmp/</samp>
	par défaut).</p>
	
	<p>Le script <samp>contrib/wanewsletter</samp>, dédié à une utilisation en ligne
	de commande, permet également de réaliser des importations d’emails. Les limitations
	de durée des scripts php dans le cadre d’un serveur web ne s’appliquent pas dans ce cas.</p>
	</chap>
	
	<chap>
	<title>Comment gérer le script à plusieurs&#8201;?</title>
	
	<p>Wanewsletter peut être géré par plusieurs utilisateurs. Vous pouvez modifier 
	les permissions des utilisateurs via le profil de l’utilisateur en question.</p>
	
	<p>Il y a deux niveaux généraux&#160;: administrateur et utilisateur. Les administateurs 
	ont automatiquement tous les droits, quelques que soient les réglages sur les droits 
	individuels. Un utilisateur pourra faire tout ce qui lui aura été permis (voir, 
	editer, supprimer, envoyer des newsletter, importer, exporter, bannir, et joindre 
	des fichiers) et ce, pour chaque liste.</p>
	
	<p>Pour ajouter un utilisateur, rendez-vous dans la section "Utilisateurs" 
	puis "ajouter un utilisateur"</p>
	</chap>
	
	<chap>
	<title>Mais où se trouve le formulaire d’inscription&#8201;?</title>
	
	<p>Vous disposez d’un formulaire par défaut, le fichier <samp>subscribe.php</samp> 
	(note aux possesseurs de versions 2.0.x ou 2.1.x, le nom a changé et n’est plus 
	<samp>suscribe.php</samp>, dont l’orthographe n’était pas correcte, pensez à 
	changer vos éventuels liens pointant sur ce fichier). Le fichier 
	<samp>subscribe.php</samp> affiche un formulaire classique, et une liste de 
	sélection affichant les noms de toutes les listes de diffusion publiques créées.</p>
	
	<p>Le script dispose également d’un générateur de formulaire dans la section 
	"outils". Celui ci vous permettra, pour une liste donnée, de générer le formulaire 
	adéquat. Il ne vous restera qu’à placer ce formulaire où vous voulez sur le site, 
	de placer le code d’inclusion de <samp>newsletter.php</samp> (code également fourni 
	par le form. generator) et d’indiquer dans les réglages de la liste de diffusion 
	en question l’adresse du formulaire.</p>
	
	<p>Notez que vous pouvez ajouter la variable <code>$textCharset</code> dans le code
	<abbr>PHP</abbr> d’inclusion de <samp>newsletter.php</samp>. Cela influera sur
	le codage de caractères du message de réponse renvoyé par <samp>newsletter.php</samp>.
	Cette variable prend toute valeur acceptable par la librairie
	<a href="http://www.gnu.org/software/libiconv/">iconv</a>.</p>
	
	<p>Une dernière solution (disponible à partir de la version 2.2-RC1) consiste pour
	le visiteur à envoyer un email à l’adresse email d’une liste, avec comme sujet de
	l’email "Inscription" (insensible à la casse). Dans ce cas, vous devez avoir accès à
	cron (serveurs unix et équivalents) ou faire appel aux services gratuits de
	<a href="http://www.webcron.org/" hreflang="fr" title="Webcron&#160;: Service de tâches automatisées">webcron.org</a>
	pour automatiser l’appel au fichier <samp>cron.php</samp> qui se trouve dans le
	répertoire <samp>options/</samp> du script. Ce script se chargera d’effectuer les tâches
	nécessaires (inscription, désinscription, changement de format, confirmation d’inscription..)
	selon les emails reçus.</p>
	
	<p>Pour une désinscription, l’abonné devra envoyer un email avec pour sujet "Desinscription"
	(sans accents&#8201;!), il recevra alors un email lui demandant de renvoyer un autre
	email avec le meme sujet, et le code son compte, qui lui aura été fourni (par sécurité).
	Pour la confirmation d’inscription (si la liste le demande), ce devra être un email avec
	pour sujet "confirmation", et pour le changement de format, le sujet devra être "setformat".</p>
	
	<p>Si plusieurs de vos listes de diffusion utilisent la même adresse email, il risque
	d’y avoir conflit, le script ne sachant pas à quelle liste seront adressés les emails
	du compte <abbr>POP</abbr>.
	Dans ce cas, il vous faudra créer un alias de l’adresse en question avec le panneau de
	gestion de votre hébergement, si vous en avez la possibilité (cela exclut les hébergeurs
	gratuits). Exemple&#160;:</p>
	
	<p>Vous avez deux listes utilisant l’adresse email mailing@domaine.com. Il vous faudra
	créer deux alias renvoyant sur mailing@domaine.com et indiquer ces alias dans les
	réglages des listes concernées. Par exemple&#160;: mailing-1@domaine.com et
	mailing-2@domaine.com</p>
	
	<p>Dans le cas de l’option "cron", vous devrez indiquer les paramètres d’accès au 
	compte <abbr>POP</abbr> de l’adresse email de la liste en question, et 
	indiquer l’utilisation de l’option "cron" avec le bouton radio adéquat
	(section "listes" de l’administration).</p>
	
	<p>Enfin, cron devra appeller une adresse de ce type&#160;:<br/>
	<kbd>http://www.yourdomain.com/rep/newsletter/options/cron.php?mode=validate&amp;liste=<code class="constant">[ID_de_la_liste]</code></kbd>
	</p>
	</chap>
	
	<chap>
	<title>Pourquoi y a t-il deux méthodes d’envoi&#8201;?</title>
	
	<p>Wanewsletter dispose de deux méthodes d’envoi pour pouvoir être utilisé par 
	le plus grand nombre. En effet, certains hébergeurs limitent le nombre d’emails 
	envoyés par jour (ex: multimania/lycos), ou n’acceptent qu’un destinataire par 
	email (ex: online).</p>
	
	<p>Il est recommandé d’utiliser la méthode d’envoi par défaut, c’est à dire l’envoi
	d’un email à chaque abonné.</p>
	
	<div class="note">
	<p><strong>Note&#160;:</strong>
	Le script détectera automatiquement si l’hébergeur est Online. Si c’est le cas, la première
	méthode d’envoi (un abonné = un email) sera utilisée automatiquement.</p>
	</div>
	</chap>
	
	<chap>
	<title>Répertoire temporaire du script, safe mode et open_basedir</title>
	
	<p>Le répertoire temporaire du script, <samp>tmp/</samp> par défaut, peut être 
	utilisé par le script dans certains cas précis&#160;:</p>
	
	<ul>
		<li>Si le <code class="setting">safe mode</code> est activé sur votre serveur 
		ou qu’il y a une restriction au niveau de <code class="setting">open_basedir</code>, 
		le script doit déplacé certains fichiers uploadés dans le répertoire <samp>tmp/</samp> 
		avant de pouvoir les lire</li>
		<li>Si vous stockez les fichiers joints sur un serveur <abbr>FTP</abbr> distant, 
		le script doit rapatrier les fichiers dans le répertoire <samp>tmp/</samp> le
		temps de l’envoi</li>
		<li>Lors de l’export de fichiers joints ou de la sauvegarde des tables, si vous 
		choisissez l’option <q>stocker le fichier sur le serveur</q>, le script créé le fichier 
		dans le répertoire <samp>tmp/</samp></li>
		<li>Lors de l’importation d’emails, si des emails sont refusés, le script crééra 
		le fichier explicatif dans le répertoire <samp>tmp/</samp></li>
		<li>Durant l’envoi d’une newsletter, le script garde dans un fichier la liste des
		identifiants des abonnés auxquels la newsletter a été envoyée. C’est une sécurité
		pour le cas où un problème surviendrait durant l’envoi (plantage du navigateur, timeout, etc)</li>
	</ul>
	
	<p>Le nom du répertoire <samp>tmp/</samp> peut être modifié, sous réserve de l’indiquer 
	dans le fichier <samp>admin/pagestart.php</samp> (cherchez la ligne <code>$tmp_name = 'tmp';</code>).</p>
	</chap>
	
	<chap>
	<title>Impossible de joindre des fichiers à mes newsletter&#8201;!</title>
	
	<p>Dans le cas où l’upload de fichier est autorisé sur votre serveur, cela peut 
	être dù au fait que le script n’a pas les droits en écriture sur le répertoire de 
	stockage des fichiers joints ou que les paramètres d’accès au serveur <abbr>FTP</abbr> 
	ne sont pas corrects (si option choisie). Vérifiez donc le chmod ou les attributs 
	de ce répertoire ou vérifiez les paramètres d’accès au <abbr>FTP</abbr>.</p>
	
	<p>Si l’upload n’est pas autorisé, le script n’ajoute le fichier à la liste des 
	fichiers joints que si celui ci est déja présent sur le serveur, dans le répertoire 
	de stockage des fichiers joints. Uploadez vos fichiers joints avec votre client 
	<abbr>FTP</abbr> avant d’ajouter vos fichiers joints via le formulaire.</p>
	</chap>
	
	<chap>
	<title>Utilisation d’un serveur <abbr>SMTP</abbr> pour les envois d’emails</title>
	
	<p>Malheureusement, utiliser l’option <abbr>SMTP</abbr> de Wanewsletter ne permet pas
	d’envoyer des emails à d’autres personnes qu’au domaine du serveur <abbr>SMTP</abbr>
	choisi si vous n’êtes pas vous-même identifié comme faisant partie de ce domaine
	(C’est une restriction du serveur <abbr>SMTP</abbr> (refus du relayage), non de
	Wanewsletter).</p>
	
	<p><em>Exemple&#160;:</em><br/>
	<br/>
	Vous mettez <samp>smtp.wanadoo.fr</samp> comme serveur <abbr>SMTP</abbr> 
	dans la configuration de Wanewsletter. Si le serveur <abbr>SMTP</abbr> ne vous identifie
	pas comme faisant partie du domaine wanadoo, vous ne pourrez envoyer 
	d’emails qu’à des adresse de type <samp>blablabla@wanadoo.fr</samp>.</p>
	
	<p>L’alternative est que le serveur <abbr>SMTP</abbr> que vous voulez utiliser gère
	l’authentification, c’est à dire, reconnaisse la commande <kbd>AUTH LOGIN</kbd>
	(cf&#160;: <a href="ftp://ftp.rfc-editor.org/in-notes/rfc2554.txt" 
	hreflang="en">la <abbr title="Request For Comments" xml:lang="en" lang="en">RFC</abbr>
	2554</a>). Dans ce cas précis, vous pourrez spécifier dans la configuration de la
	newsletter le login et le mot de passe d’accès au serveur.</p>
	</chap>
	
	<chap>
	<title>Appeller le formulaire d’inscription via une popup</title>
	
	<p>Intégrer le formulaire d’inscription sur votre site, en l’appellant tout 
	simplement à l’aide d’une popup, est très simple. Le code est le suivant&#160;:</p>
	
	<pre><code><![CDATA[<a href="chemin_vers_rep/subscribe.php"
  onclick="window.open(this.href, 'mailing', 'width=400, height=300, topmargin=2, left=100, top=100, toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0'); return false;">
  Newsletter
</a>]]></code></pre>
	
	<p>Et vous devez comme url absolu vers le formulaire, pour les listes concernées, 
	l’url absolue vers le fichier <samp>subscribe.php</samp> (<kbd>http://yourdomaine.com/rep/subscribe.php</kbd>).
	Attention cependant, lorsque le nouvel inscrit cliquera pour confirmer son inscription, 
	ou s’il se désinscrit via le lien présent dans la newsletter, <samp>subscribe.php</samp> 
	apparaitra en pleine page.</p>
	</chap>
	
	<chap>
	<title>Méthodes de validation des adresses email</title>
	
	<p>Pour vérifier la validité des adresses emails fournies à l’inscription, le 
	script vérifie leur validité syntaxique. Certains caractères ne peuvent être 
	présents et l’adresse email doit contenir le signe arobase. Vous pouvez régler
	le script pour qu’une vérification approfondie soit effectuée (voir configuration).</p>
	
	<p>Cette vérification approfondie consiste à contacter les serveurs de mail
	dont dépend le domaine de l’adresse email concernée et à réaliser un envoi factice.
	Selon la réponse renvoyée par le serveur, on peut savoir si l’adresse email
	concernée <strong>n’est pas</strong> valide.</p>
	
	<p>Cette méthode est loin d’être infaillible. De nombreux serveurs ne renvoient
	pas d’erreur pour une adresse email non valide au moment où ils sont contactés.
	Au lieu de cela, les erreurs sont traitées ultérieurement, au niveau du serveur POP.
	De plus, le ou les serveurs de mail trouvés peuvent ne pas être accessibles au
	moment où la personne s’inscrit à votre liste de diffusion. Dans le doute,
	l’adresse email est alors considérée comme valide.</p>
	
	<p>En bref, cette fonctionnalité <strong>ne sert pas</strong> à valider les
	adresses email lors des inscriptions, mais plutôt à rejeter immédiatement
	les adresses emails pour lesquelles on est sùr de la non-validité.</p>
	</chap>
	
	<chap>
	<title>Changement du nom du répertoire des statistiques</title>
	
	<p>Pour changer le nom du répertoire <code>stats/</code>, c’est simple, éditez le
	fichier <samp>includes/functions.stats.php</samp> et modifiez la ligne suivante&#160;:</p>
	
	<pre><code>define('WA_STATSDIR', WA_ROOTDIR . '/stats'); </code></pre>
	</chap>
	
	<chap>
	<title>Envoi des newsletters avec cron</title>
	
	<p>Le script donne la possibilité de réaliser vos envois de newsletters avec cron.<br/>
	C’est très simple, il suffit d’appeler l’adresse suivante&#160;:
	<kbd>http://www.yourdomaine.com/rep/options/cron.php?mode=send&amp;liste=<code class="constant">[ID]</code></kbd><br/>
	La partie du domaine et du chemin d’installation est à régler par vos soins.
	Vous devez là aussi remplacer <code class="constant">[ID]</code> par l’identifiant
	de la liste concernée.</p>
	
	<div class="note">
	<p><strong>Note&#160;:</strong></p>
	<ul>
		<li>Vous pouvez très bien changer le nom du fichier cron.php (conseillé)</li>
		<li>C’est à vous de régler cron pour qu’il réalise l’appel au script (si cron n’est pas disponible 
		   sur votre serveur, vous pouvez utiliser par exemple les services gratuits 
		   de <a href="http://www.webcron.org/" hreflang="fr" 
		   title="Webcron&#160;: Service de tâches automatisées">webcron.org</a></li>
	</ul>
	</div>
	
	<p>À partir de Wanewsletter 2.3, un module expérimental utilisable en ligne de comande
	est disponible dans le répertoire <samp>contrib/</samp>. Vous devez donner les droits
	d’exécution sur le fichier <samp>contrib/wanewsletter</samp> (ou passer par l’exécutable
	<abbr>PHP</abbr>).</p>
	
	<p>Voici la commande pour lancer un envoi pour une liste donnée&#160;:</p>
	
	<pre><samp>$ /path/to/contrib/wanewsletter --process-send=1</samp></pre>
	
	<p>Avec <code>1</code> l’identifiant de la liste concernée dans cet exemple.</p>
	
	<p>Par défaut, le script enverra tous les emails en faisant une pause de 10 secondes
	tous les 400 emails pour éviter d’engorger le serveur de mail. Ces deux valeurs (10 et 400)
	sont modifiables en ligne de commande avec respectivement les paramètres <kbd>--delay</kbd>
	et <kbd>--packet</kbd>.	Ces valeurs peuvent être modifiées également en éditant le fichier
	<samp>contrib/wanewsletter</samp>.</p>
	
	<p>Si vous ne souhaitez pas envoyer tous les emails à la suite, vous pouvez utiliser
	le paramètre <kbd>--limit</kbd> pour indiquer le nombre d’emails maximum à envoyer.</p>
	</chap>
	
	<chap>
	<title>Utilisation de tags personnalisés</title>
	
	<p>Pour utiliser les tags personnalisés (à l’instar de <code>{LINKS}</code> ou <code>{NAME}</code>),
	éditez le fichier tags.inc.php avec un simple éditeur de texte. Vous devriez trouver ceci au début
	du fichier&#160;:</p>
	
	<pre><code><span class="hl-comment">//$other_tags[$t]['column_name'] = '';
//$other_tags[$t]['field_name']  = '';
//$other_tags[$t]['tag_name']    = '';
//$t++;
</span></code></pre>
	
	<p>Wanewsletter ne gère pas automatiquement les tags personnalisés. C’est à dire que c’est
	à vous de rajouter le champs voulu dans la table <samp>prefixe_abonnes</samp>, puis de spécifier
	le tag dans <samp>includes/tags.inc.php</samp> pour que le script effectue le remplacement
	du tag par sa valeur lors de l’envoi.</p>
	
	<p>Exemple&#160;:<br/>
	Vous souhaitez pouvoir mettre un tag <code>{ADDRESS}</code> dans vos newsletters, lequel sera remplacé
	par l’adresse de l’abonné. Après avoir ajouté un champs nommé par exemple abo_address dans
	la table <samp>prefixe_abonnes</samp>, vous placerez les données du tag dans
	<samp>includes/tags.inc.php</samp> (en ayant décommenté les lignes que j’ai données plus haut),
	comme ci dessous&#160;:</p>
	
	<pre><code><span class="hl-html"><span class="hl-default">$other_tags</span><span class="hl-keyword">&#91;</span><span class="hl-default">$t</span><span class="hl-keyword">&#93;&#91;</span><span class="hl-string">'column_name'</span><span class="hl-keyword">&#93; = </span><span class="hl-string">'abo_address'</span><span class="hl-keyword">;
</span><span class="hl-default">$other_tags</span><span class="hl-keyword">&#91;</span><span class="hl-default">$t</span><span class="hl-keyword">&#93;&#91;</span><span class="hl-string">'field_name'</span><span class="hl-keyword">&#93;  = </span><span class="hl-string">''</span><span class="hl-keyword">; 
</span><span class="hl-default">$other_tags</span><span class="hl-keyword">&#91;</span><span class="hl-default">$t</span><span class="hl-keyword">&#93;&#91;</span><span class="hl-string">'tag_name'</span><span class="hl-keyword">&#93;    = </span><span class="hl-string">'ADDRESS'</span><span class="hl-keyword">;
</span><span class="hl-default">$t</span><span class="hl-keyword">++;</span></span></code></pre>
	
	<p>Vous souhaitez maintenant ajouter un autre tag&#8201;? Reproduisez simplement la même opération.</p>
	
	<p>Pour que vos abonnés puissent ajouter ces données dans leur profil, le panneau de gestion
	de profil doit être activé (voir configuration générale). Vous devez modifier le template
	editprofile_body.tpl présent dans le répertoire <samp>templates/</samp> du script.<br/>
	Ajoutez les champs text nécessaires en prenant soin de leur donner le nom de la colonne à
	laquelle il se rapporte.<br/>
	Exemple en se basant sur les tags des exemples précédents&#160;:</p>
	
	<pre><code><![CDATA[<table class="content">
	<tr>
		<td class="row1"><label>{L_EMAIL}&#160;:</label></td>
		<td class="row2"><span class="texte">{EMAIL}</span></td>
	</tr>
	<tr>
		<td class="row1"><label for="pseudo">{L_PSEUDO}&#160;:</label></td>
		<td class="row2"><input type="text" id="pseudo" name="pseudo" value="{PSEUDO}" size="30" maxlength="30" class="text" /></td>
	</tr>
	<tr>
		<td class="row1"><label for="abo_address">Votre adresse&#160;:</label></td>
		<td class="row2"><textarea id="abo_address" name="abo_address" rows="4" cols="50" class="text">{ADDRESS}</textarea></td>
	</tr>
	<tr>
		<td class="row1"><label for="abo_birthday">Anniversaire&#160;:</label></td>
		<td class="row2"><input type="text" id="abo_birthday" name="abo_birthday" value="{BIRTHDAY}" size="30" maxlength="30" class="text" /></td>
	</tr>
	<tr>
		<td class="row1"><label for="language">{L_LANG}&#160;:</label></td>
		<td class="row2">{LANG_BOX} </td>
	</tr>
	<!-- BEGIN password -->
	<tr>
		<td class="row1"><label for="current_pass">{password.L_PASS}&#160;:</label></td>
		<td class="row2"><input type="password" id="current_pass" name="current_pass" size="30" maxlength="32" class="text" /></td>
	</tr>
	<!-- END password -->
	<tr>
		<td class="row1"><label for="new_pass">{L_NEW_PASS}&#160;:</label></td>
		<td class="row2"><input type="password" id="new_pass" name="new_pass" size="30" maxlength="30" class="text" /></td>
	</tr>
	<tr>
		<td class="row1"><label for="confirm_pass">{L_CONFIRM_PASS}&#160;:</label></td>
		<td class="row2"><input type="password" id="confirm_pass" name="confirm_pass" size="30" maxlength="30" class="text" /></td>
	</tr>
</table>]]></code></pre>

	<p>Il vous est possible d’ajouter des champs au formulaire d’inscription pour réceptionner des données
	et remplir vos champs personnalisés. Il suffit que ces champs portent le nom donné dans l‘entrée 'column_name',
	ou 'field_name' si vous souhaitez utiliser un nom différent de celui de la colonne dans la base de données.</p>
	
	<p>Le script de traitement de l’inscription sauvegardera automatiquement ces données supplémentaires dans
	leur champ respectif.</p>
	
	<div class="note">
	<p><strong>Note&#160;:</strong> Vous ne pouvez pas utiliser les tags personnalisés avec
	le moteur d’envoi en copie cachée
	</p>
	</div>
	</chap>
	
	<chap>
	<title>Définir une langue selon le formulaire</title>
	
	<p>Cette fonctionnalité était demandée par plusieurs utilisateurs de Wanewsletter.<br/>
	Pour définir une langue à utiliser avec le formulaire (sous réserve que cette langue soit
	installée dans Wanewsletter), il vous suffit d’ajouter la ligne suivante dans le code
	d’inclusion de newsletter.php qui est fourni par le générateur de formulaire&#160;:
	<code>$language = 'francais';</code></p>
	
	<p>Additionellement, vous pouvez également définir l’adresse <abbr>URL</abbr>
	à utiliser pour forger le lien de confirmation d’inscription ou désinscription.<br/>
	Voici un exemple de code <abbr>PHP</abbr> intégrant ces deux ajouts.</p>
	
	<pre><code><![CDATA[<?php
define('IN_WA_FORM', true);
define('WA_ROOTDIR', '/path/to/wanewsletter');

$language = 'english';
$formURL  = 'http://mydomain.tld/en/myform';

include WA_ROOTDIR . '/newsletter.php';
?>]]></code></pre>
	
	<div class="note">
	<p><strong>Note&#160;:</strong> Ces codes doivent être ajoutés <strong>avant</strong>
	l’inclusion du fichier newsletter.php (avant <code>include()</code>), non après.</p>
	</div>
	</chap>
	
	<chap>
	<title>Utiliser Wanewsletter avec SQLite</title>
	
	<p>Wanewsletter peut fonctionner avec les bases de données SQLite à partir
	de sa version 2.3.0.</p>
	
	<p>Vous devez vous assurer avant de débuter l’installation que le répertoire
	<samp>sql/</samp> de Wanewsletter lui est accessible en lecture <strong>et</strong>
	écriture. En effet, c’est dans ce répertoire que sera créé par défaut la base
	de données sqlite de Wanewsletter.</p>
	
	<p>Libre à vous de choisir par la suite un emplacement plus adapté. Il vous
	suffira de déplacer le fichier <samp>wanewsletter.sqlite</samp> du répertoire
	<samp>sql/</samp> vers son nouvel emplacement et d’indiquer celui-ci dans le
	fichier <samp>includes/config.inc.php</samp>.</p>
	</chap>
	
	<chap>
	<title>Comment contribuer au projet Wanewsletter&#8201;?</title>
	
	<p>Consultez le fichier <a href="readme.fr.html#contrib">readme du script</a>.</p>
	</chap>
	
	<chap>
	<title>Pourquoi je ne reçois pas d’emails de retour d’erreur (bounces)&#8201;?</title>
	
	<p>Cela peut être dù à des restrictions au niveau de la configuration de <abbr>PHP</abbr>.
	C’est typiquement le cas lorsque le <code>safe_mode</code> est activé.</p>
	
	<p>Dans cette configuration, Wanewsletter ne peut renseigner le cinquième argument
	de la fonction <code>mail()</code> de <abbr>PHP</abbr> et donc préciser clairement
	au programme d’envoi l’adresse email à utiliser pour les retours d’erreurs.</p>
	</chap>
	
	<chap>
	<title>Est-il possible de désactiver la vérification de présence du tag {LINKS}&#8201;?</title>
	
	<p>Oui, c’est possible. Vous devez pour cela éditer le fichier <samp>admin/envoi.php</samp>
	et remplacer <code class="constant">FALSE</code> par <code class="constant">TRUE</code>
	à la ligne 54&#160;:</p>
	
	<pre><code>define('DISABLE_CHECK_LINKS', FALSE);</code></pre>
	
	<p>N’oubliez pas que permettre aux abonnés à vos listes de se désinscrire simplement
	et rapidement si tel est leur souhait est une obligation légale <a href="#note-lcen">(1)</a>.<br />
	Aussi, et sauf cas particuliers, vous ne devriez pas retirer ces liens des lettres
	que vous envoyez, et donc changer la valeur de cette constante.</p>
	
	<p id="note-lcen">(1) Au moins en France, en application de l’article 22 de la
	<a href="http://www.legifrance.gouv.fr/WAspad/UnTexteDeJorf?numjo=ECOX0200175L" hreflang="fr">
	loi n°&#160;2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique (LCEN)</a>.</p>
	</chap>
	
	<chap>
	<title>Où se trouvent les modèles des emails d’inscription, confirmation et désinscription&#8201;?</title>
	
	<p>Vous les trouverez dans le répertoire <samp>language/email_{votre_langue}/</samp>.</p>
	</chap>
	
	<chap>
	<title>Le chargement de newsletters par <abbr>URL</abbr>, c’est quoi&#8201;?</title>
	
	<p>Cette fonctionnalité a fait l’objet d’une forte demande par les utilisateurs de
	Wanewsletter et a donc été implémentée dans Wanewsletter 2.3.</p>
	
	<p>Le chargement de modèles de newsletters par <abbr>URL</abbr> est très simple à
	utiliser. Indiquez simplement l’adresse du modèle au format texte <strong>et/ou</strong>
	celle du modèle au format <abbr>HTML</abbr> dans les champs correspondants lorsque
	vous êtes sur la page de chargement des newsletters (lien <q>charger une newsletter</q>
	dans la page d’envoi).</p>
	
	<p>Le script rapatriera alors le contenu de chacune des <abbr>URL</abbr>s fournies
	et effectuera une conversion automatique vers le jeu de caractère de Wanewsletter
	si les données sont encodées en UTF-8.</p>
	
	<p>Dans le cas d’un modèle au format <abbr>HTML</abbr>, Wanewsletter récupèrera le
	contenu d’un éventuel élément <code>&lt;title/&gt;</code> présent dans l’en-tête
	de la page et l’utilisera comme sujet du modèle. Une balise <code>&lt;base&gt;</code>
	sera également ajoutée dans l’en-tête du modèle pour assurer le bon fonctionnement
	des <abbr>URL</abbr>s relatives.</p>
	</chap>
	
	<chap>
	<title>Wanewsletter n’est pas disponible dans ma langue maternelle, que faire&#8201;?</title>
	
	<p>Rendez-vous sur la <a href="http://phpcodeur.net/wascripts/wanewsletter/telecharger"
	hreflang="fr">page de téléchargement</a> de Wanewsletter. Le paquet de langue vous
	concernant y est peut-être disponible.</p>
	
	<p>Consultez également le fichier <a href="readme.fr.html#l10n">readme du script</a>.</p>
	</chap>
	
	<chap>
	<title>Comment modifier la présentation du formulaire par défaut&#8201;?</title>
	
	<p>Les modifications doivent être faites dans le fichier <samp>templates/subscribe_body.tpl</samp>.</p>
	</chap>
	
	<chap>
	<title>Lorsque je tente d’exporter une newsletter archivée, j’obtiens une erreur</title>
	
	<p>Cette fonctionnalité de Wanewsletter nécessite la présence sur le serveur d’une
	librairie tierce, <q>Archive_Tar</q>, disponible dans <abbr>PEAR</abbr>.</p>
	
	<p>Vérifiez (éventuellement avec votre hébergeur) que <abbr>PEAR</abbr> est correctement
	installé sur le serveur (<q>Archive_Tar</q> fait partie des librairies requises pour le
	bon fonctionnement de <abbr>PEAR</abbr> donc pas de souci de ce coté là) et que le chemin
	d’inclusion de <abbr>PHP</abbr> (<code>include_path</code>) contient bien le chemin du
	répertoire d’installation de <abbr>PEAR</abbr>.</p>
	
	<p>Si vous n’avez pas la main sur le serveur et que votre hébergeur ne souhaite pas installer
	<abbr>PEAR</abbr>, rendez-vous sur le site <a href="http://pear.php.net/" hreflang="en">
	pear.php.net</a> et récupérez les paquets <q>PEAR</q> et <q>Archive_Tar</q>.
	Ouvrez-les et récupérez dans le premier le fichier <samp>PEAR.php</samp> et dans le second
	le fichier <samp>Tar.php</samp>. Placez le fichier <samp>PEAR.php</samp> dans le répertoire
	<samp>admin/</samp> de Wanewsletter et le fichier <samp>Tar.php</samp> dans le répertoire
	<samp>admin/Archive/</samp> que vous aurez préalablement créé.</p>
	
	<div class="note">
	<p><strong>Note&#160;:</strong> Si vous préférez le format zip, plus répandu, Wanewsletter
	acceptera tout aussi bien de travailler avec la librairie <q>Archive_Zip</q>, également
	disponible dans <abbr>PEAR</abbr>. Pour cela, éditez le fichier <samp>includes/constantes.php</samp>
	et indiquez <q>Zip</q> en lieu et place de <q>Tar</q> comme valeur pour la constante
	<code>EXPORT_FORMAT</code>.</p>
	</div>
	</chap>
	
	<chap>
	<title>Les liens de confirmation dans les emails sont incomplets, pourquoi&#8201;?</title>
	
	<p>Vous avez dù oublier de configurer correctement votre liste de diffusion.
	Indiquez une valeur correcte pour l’option "URL absolue de la page où se trouve le formulaire"
	dans les réglages de votre liste de diffusion.</p>
	</chap>
	
	<chap>
	<title>Wanewsletter et l’authentification <abbr>HTTP</abbr></title>
	
	<p>Parfois, le répertoire d’installation de Wanewsletter peut se trouver dans une partie
	du site déjà protégée par une authentification <abbr>HTTP</abbr>. Dans ces cas-là, il
	est fastidieux de devoir s’authentifier à nouveau lorsque l’on arrive dans l’administration
	de Wanewsletter.</p>
	
	<p>Wanewsletter tient compte de ce fait et détecte désormais une éventuelle <q>session</q>
	<abbr>HTTP</abbr> en cours lorsque vous arrivez la première fois sur l’administration.
	Si une telle <q>session</q> existe, Wanewsletter tentera de vous connecter automatiquement
	à l’administration avec la paire login/mot de passe ayant servi à démarrer la session
	<abbr>HTTP</abbr>. Bien entendu, ce mécanisme ne peut aboutir que si un administrateur avec
	le même couple login/mot de passe existe dans Wanewsletter.</p>
	
	<p>Attention, <abbr>PHP</abbr>, installé en mode <abbr>CGI</abbr>, ne gère pas correctement
	l’authentification <abbr>HTTP</abbr> et les variables <code>PHP_AUTH_USER</code> et
	<code>PHP_AUTH_PW</code> ne sont pas disponibles. Pour remédier à cela, placez le bloc
	suivant dans un fichier <samp>.htaccess</samp> (nécessite le module apache <q>mod_rewrite</q>)&#160;:</p>
	
	<pre><code>RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]</code></pre>
	
	<div class="note">
	<p><strong>Note&#160;:</strong> Si pour une raison ou une autre, vous souhaitez désactiver
	cette fonctionnalité, éditez le fichier <samp>includes/constantes.php</samp> et mettez
	à <code>false</code> la constante <code>ENABLE_HTTP_AUTHENTICATION</code>.</p>
	<p><strong>Note&#160;:</strong> Notez que seule l’authentification <abbr>HTTP</abbr>
	Basic est supportée.</p>
	</div>
	</chap>
	
	<chap>
	<title>Inclure du contenu externe dans la newsletter</title>
	
	<p>Wanewsletter propose aussi l’utilisation de tags spéciaux dits <q>tags d’inclusion</q>.
	Le principe est d’indiquer une url ou un chemin de fichier, le contenu du fichier ciblé
	étant ajouté à la newsletter lorsque celle-ci est mise en attente d’envoi.</p>
	
	<pre><code><![CDATA[texte quelconque...

<?inclure src="/path/to/file"?>

fin de newsletter...]]></code></pre>
	
	<p>Ce mécanisme prend tout son sens par exemple lorsque l’<abbr>URL</abbr> indiquée cible
	un script serveur générant du contenu.</p>
	
	<p>Si vous souhaitez que l’inclusion soit faite dès la sauvegarde suivante, utilisez l’attribut
	"tds" avec "true" pour valeur&#160;:</p>
	
	<pre><code><![CDATA[texte quelconque...

<?inclure src="/path/to/file" tds="true"?>

fin de newsletter...]]></code></pre>
	
	<div class="note">
	<p><strong>Note&#160;:</strong> Pour les anglophiles,
	<code><![CDATA[<?include src="/path/to/file" now="true"?>]]></code>
	est aussi utilisable ;¬)</p>
	</div>
	<div class="note">
	<p><strong>Note&#160;:</strong> Ce système n’est pas compatible avec les tags personnalisés
	décrits plus haut. Ne mettez donc pas de {TAGNAME} dans le chemin de fichier ou l’url.</p>
	</div>
	</chap>
	
	<chap>
	<title>Stocker des données supplémentaires à l’inscription</title>
	
	<p>Consultez l’entrée <a href="#p14"><q>Utilisation de tags personnalisés</q></a>
	de la <abbr>FAQ</abbr>.</p>
	</chap>
</Document>
