Leadealer
Reliable lead-focused form builder with Lead Vault, conditional logic, cache-safe Proof of Work anti-spam, and native wp_mail() delivery.
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/assistouest/leadealer/releases/download/V0.7.3/leadealer.zipReadme
Leadealer
Un constructeur de formulaires WordPress pensé pour ne pas perdre un prospect parce qu’un e-mail n’est jamais arrivé.
Form Builder · Lead Vault · reprise des e-mails · pièces jointes · logique conditionnelle · anti-spam Proof of Work
Sommaire
- Pourquoi Leadealer existe
- Ce que Leadealer apporte à une entreprise
- Comment fonctionne la fiabilité des leads
- Le Form Builder
- Installation
- E-mail et SMTP
- Sécurité
- Confidentialité
- Architecture pour les développeurs
- Version et stabilité
- Développement et contributions
- Licence
Pourquoi Leadealer existe
Un formulaire de contact peut fonctionner parfaitement côté visiteur et pourtant perdre sa valeur au dernier moment.
L'utilisateur clique sur Envoyer, WordPress tente d'expédier un e-mail, puis un problème SMTP, un serveur de messagerie indisponible, un filtre antispam ou une configuration défaillante empêche le message d'arriver. Dans beaucoup de formulaires, l'e-mail devient alors la seule trace du prospect.
Leadealer inverse cette logique.
Lorsqu'une soumission est valide, le lead est d'abord enregistré dans Lead Vault. La livraison de l'e-mail vient ensuite et possède son propre état, son historique et ses mécanismes de reprise.
L'e-mail est un canal de livraison. Il n'est pas la base de données du prospect.
Cette approche est particulièrement utile pour les entreprises qui utilisent leur site WordPress pour recevoir des demandes de devis, des demandes de rappel, des prises de contact ou des demandes accompagnées de photos.
Ce que Leadealer apporte à une entreprise
Un filet de sécurité pour les demandes entrantes
Lead Vault conserve les demandes acceptées avant la tentative d'envoi de l'e-mail. En cas de problème de messagerie, le prospect n'est donc pas automatiquement perdu.
Chaque lead peut conserver une copie figée de la notification, avec notamment :
- le destinataire ;
- le Reply-To ;
- le sujet ;
- le contenu HTML de l'e-mail ;
- les données envoyées par le visiteur ;
- les photos associées ;
- l'état de livraison ;
- le nombre de tentatives ;
- la chronologie des événements de livraison.
Un Lead Vault qui se consulte comme une boîte de réception
Le tableau de bord distingue notamment les leads :
- sécurisés dans le Vault ;
- remis à
wp_mail(); - en cours de récupération ;
- nécessitant une intervention ;
- récupérés après plusieurs tentatives.
L'objectif est simple : pouvoir retrouver la demande même lorsque la boîte mail ne raconte pas toute l'histoire.
Des relances automatiques lorsque l'e-mail échoue
Leadealer sépare l'acceptation du lead de sa livraison par e-mail.
Une notification en échec peut être reprise automatiquement jusqu'à 6 tentatives bornées, avec temporisation progressive, reprise des traitements interrompus et possibilité de relance manuelle depuis l'administration.
Un worker de récupération vérifie également les livraisons en attente ou bloquées toutes les quinze minutes via WP-Cron.
Des formulaires visuels sans sacrifier la validation serveur
Le constructeur permet de créer et réorganiser les champs visuellement tout en conservant une validation côté serveur fondée sur le schéma publié du formulaire.
Champs disponibles :
- texte ;
- e-mail ;
- téléphone ;
- texte long ;
- nombre ;
- URL ;
- liste déroulante ;
- boutons radio ;
- case à cocher ;
- consentement ;
- ajout de photo.
Le builder inclut également les largeurs responsive pour ordinateur, tablette et mobile, la duplication de champs, l'annulation/rétablissement et la logique conditionnelle.
Des photos rattachées au lead, pas seulement au mail
Depuis Leadealer 0.7.3, une photo préparée est envoyée dans la même requête multipart que le lead. Le navigateur n'a plus besoin d'effectuer un pré-upload séparé puis de transmettre un token caché lors d'une seconde requête.
Le serveur accepte uniquement les formats qu'il sait vérifier et réencoder en sécurité :
- JPEG ;
- PNG ;
- WebP.
Les images acceptées sont décodées puis réencodées côté serveur avant stockage. Le fichier original n'est pas conservé tel quel, ce qui permet notamment de supprimer les métadonnées EXIF/GPS.
HEIC/HEIF n'est jamais décodé côté serveur. Lorsqu'un navigateur sait le décoder nativement, Leadealer peut le convertir en JPEG avant l'envoi. Sinon, le visiteur doit sélectionner un format pris en charge.
Une photo attendue mais absente ou devenue invalide ne doit pas être silencieusement ignorée lors de l'envoi de la notification.
Comment fonctionne la fiabilité des leads
flowchart LR
A[Visiteur remplit le formulaire] --> B[Proof of Work + validation serveur]
B --> C[Enregistrement du lead]
C --> D[Lead Vault]
D --> E[Tentative wp_mail]
E -->|Succès de remise au transport| F[Mail handed off]
E -->|Échec| G[File de récupération]
G --> H[Nouvelle tentative]
H -->|Succès| F
H -->|Limite atteinte| I[Needs attention]
I --> J[Relance manuelle]
Le succès renvoyé au visiteur signifie que sa demande a été acceptée et enregistrée, pas que le message se trouve déjà dans la boîte de réception finale.
C'est une distinction importante : wp_mail() peut indiquer qu'un transport a accepté le message sans pouvoir garantir sa remise finale dans la boîte du destinataire.
Le Form Builder
Leadealer fournit un constructeur visuel en trois zones avec :
- bibliothèque de champs ;
- canvas de formulaire ;
- paramètres contextuels ;
- insertion par glisser-déposer ;
- réorganisation à la souris, au tactile et au clavier ;
- grille responsive sur 12 colonnes ;
- aperçu ordinateur, tablette et mobile ;
- undo / redo ;
- modèles de départ ;
- logique conditionnelle
all/any; - valeurs internes stables pour les choix.
Les libellés visibles d'un choix peuvent ainsi évoluer sans casser automatiquement une condition qui dépend de sa valeur interne.
Logique conditionnelle
Un champ peut être affiché seulement lorsque certaines conditions sont remplies.
Opérations prises en charge par le builder :
- égal à ;
- différent de ;
- vide ;
- non vide ;
- contient ;
- ne contient pas ;
- coché ;
- non coché.
Les champs masqués par la logique conditionnelle sont également traités côté serveur afin que le navigateur ne soit pas la seule source de confiance.
Intégration dans WordPress
Bloc Gutenberg
Leadealer fournit un bloc dynamique Leadealer Form pour insérer un formulaire depuis l'éditeur de blocs.
Shortcode
[leadealer_form id="123"]
Remplacez 123 par l'identifiant du formulaire à afficher.
Installation
- Téléchargez l'archive de Leadealer.
- Dans WordPress, ouvrez Extensions > Ajouter une extension > Téléverser une extension.
- Sélectionnez le fichier ZIP puis activez Leadealer.
- Ouvrez Leadealer > Forms et créez un formulaire.
- Ajoutez vos champs ou partez d'un modèle.
- Configurez la notification e-mail.
- Publiez le formulaire.
- Insérez-le avec le bloc Leadealer ou le shortcode.
- Consultez Lead Vault pour suivre les demandes et leur livraison.
Prérequis
| Composant | Version |
|---|---|
| WordPress | 6.6 ou supérieur |
| PHP | 7.4 ou supérieur |
| Version testée déclarée | WordPress 7.0 |
Pour les reprises automatiques de livraison, WP-Cron doit pouvoir fonctionner.
Si DISABLE_WP_CRON est activé, configurez un cron système qui appelle régulièrement wp-cron.php.
E-mail et SMTP
Leadealer utilise l'API native :
wp_mail()
Cette approche laisse les plugins de livraison SMTP compatibles avec wp_mail() prendre en charge le transport du message.
Leadealer suit toutefois la remise au transport WordPress, pas la livraison finale dans la boîte de réception distante. Un serveur SMTP peut accepter un message qui sera ensuite retardé, filtré ou rejeté plus loin dans la chaîne.
C'est précisément pour cette raison que Lead Vault reste indépendant de l'e-mail.
Sécurité
Leadealer est conçu autour d'une règle simple : le JavaScript du navigateur n'est jamais considéré comme une autorité de sécurité.
Parmi les mécanismes présents :
- validation et normalisation côté serveur selon le schéma publié ;
- rejet des clés de champs inattendues ;
- Proof of Work signé par HMAC ;
- protection contre la réutilisation de challenges ;
- limitation de débit ;
- honeypot ;
- identifiants de soumission idempotents ;
- secret d'idempotence détenu par le navigateur pour les reprises après perte de réponse ;
- contrôles de capacités WordPress sur les interfaces d'administration ;
- nonces sur les actions administratives sensibles ;
- requêtes SQL préparées pour les données variables ;
- validation stricte des pièces jointes ;
- noms de fichiers générés côté serveur ;
- stockage des images dans un répertoire dérivé d'un secret ;
- vérification d'intégrité avant consultation ou envoi ;
- affichage des pièces jointes réservé aux administrateurs autorisés ;
- absence de décodeur HEIC/WASM tiers embarqué ;
- aucune ressource JavaScript, CSS ou police chargée depuis un CDN au runtime ;
- aucune télémétrie externe intégrée par Leadealer.
Aucun logiciel ne peut être présenté comme exempt de vulnérabilités. Si vous découvrez un problème de sécurité, évitez de publier immédiatement les détails exploitables dans une issue publique. Utilisez de préférence un canal privé via Assistouest.
Anti-spam Proof of Work
Leadealer utilise un challenge Proof of Work court et signé pour augmenter le coût des soumissions automatisées sans placer un nonce WordPress par visiteur directement dans le HTML mis en cache.
Cela permet de conserver un formulaire compatible avec les systèmes de cache tout en ajoutant une barrière anti-abus côté soumission.
Le niveau de difficulté est configurable dans les réglages de Leadealer. La valeur par défaut recommandée par le plugin est 17.
Le Proof of Work et le rate limiting sont des mécanismes anti-abus. Ils ne remplacent pas une protection réseau ou applicative contre une attaque DDoS.
Confidentialité
Leadealer intègre les mécanismes WordPress de confidentialité pour l'export et l'effacement des données personnelles.
Le plugin peut notamment conserver dans Lead Vault :
- les champs soumis ;
- la copie figée de la notification ;
- les pièces jointes ;
- l'identifiant du formulaire ;
- un identifiant aléatoire de soumission ;
- l'état de livraison ;
- les événements de la chronologie de livraison ;
- les horodatages nécessaires au fonctionnement et à la récupération.
Leadealer ne stocke pas l'adresse IP brute pour son mécanisme anti-abus. Un identifiant réseau temporaire dérivé par HMAC est utilisé à la place.
La durée de conservation des leads remis peut être configurée dans Leadealer > Settings. Une valeur de 0 signifie une conservation sans limite de durée configurée. Les livraisons non résolues ne sont pas supprimées simplement parce que la durée de rétention est dépassée.
Les champs de consentement peuvent également intégrer automatiquement un lien vers la page de politique de confidentialité configurée dans WordPress.
Lead Vault et états de livraison
| État | Signification |
|---|---|
| Leads secured | Le lead a été enregistré avant la livraison du mail |
| Mail handed off | wp_mail() a accepté la notification pour son transport |
| Recovering | La notification est en attente ou en cours de nouvelle tentative |
| Needs attention | Les tentatives automatiques sont épuisées ou une intervention est nécessaire |
| Recovered | La notification a finalement été remise après plusieurs tentatives |
Une relance manuelle peut démarrer un nouveau cycle de livraison lorsqu'une intervention humaine est nécessaire.
Pièces jointes et photos
Le traitement des photos suit plusieurs étapes avant qu'un fichier soit considéré comme utilisable :
- préparation côté navigateur ;
- envoi multipart avec la soumission ;
- vérification de l'erreur d'upload PHP ;
- contrôle de la taille réelle ;
- détection du type MIME ;
- vérification de la signature et des dimensions ;
- limites sur les dimensions et le nombre total de pixels ;
- décodage complet ;
- réencodage ;
- génération d'un nom aléatoire côté serveur ;
- association au lead ;
- nouvelle vérification avant consultation ou envoi par e-mail.
Leadealer n'expose pas volontairement une URL publique générée par le plugin pour consulter ces fichiers. Leur consultation depuis Lead Vault passe par une action administrateur protégée.
Internationalisation
Le code source utilise l'anglais US pour les chaînes traduisibles et le plugin embarque actuellement une traduction française.
Le domaine de traduction est :
leadealer
Les fichiers POT, PO, MO et le catalogue PHP de traduction sont inclus dans le paquet distribué.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| V0.7.3 | Aug 9, 2026 | leadealer.zip | 2 |