world-game/site/blueprints/pages/white-paper.yml
isUnknown 67d8159787 Feat: sécurisation formulaire white paper + stockage leads
- Honeypot, timing check, rate limiting IP, validation serveur
- Déduplication par email : enrichissement des champs vides si contact existant
- Blueprint white-paper : onglet "Contacts intéressés" (champ structure contactDatabase)
- Blueprint site.yml : ajout onglet "Données d'usage" pour vue globale des leads
- Route externalisée dans site/config/routes/download-white-paper.php
- isDownloadable côté client (prénom, nom, email valide, consentement)
- Cursor : pas de hover sur boutons disabled
- Buttons : hover désactivé si disabled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 07:11:00 +01:00

108 lines
2.7 KiB
YAML

title: Livre blanc
icon: file
status:
draft:
label: Brouillon
text: Non visible
listed:
label: Publié
text: Visible publiquement
tabs:
content:
label: Contenu
icon: text
columns:
main:
width: 2/3
sections:
header:
type: fields
fields:
intro:
label: Description courte
type: writer
nodes: false
marks:
- bold
- italic
- link
maxlength: 200
sidebar:
width: 1/3
sections:
meta:
type: fields
fields:
published:
label: Date de publication
type: date
display: DD/MM/YYYY
required: true
default: today
translate: false
cover:
label: Image de couverture
type: files
layout: cards
max: 1
accept: image/*
translate: false
image:
cover: true
ratio: 3/4
uploads:
template: image
downloadFile:
label: Fichier PDF
type: files
max: 1
accept: application/pdf
translate: false
help: Fichier téléchargé après soumission du formulaire
leads:
label: Contacts intéressés
icon: users
sections:
contactDatabase:
type: fields
fields:
contactDatabase:
label: Visiteurs ayant téléchargé
type: structure
translate: false
columns:
firstName:
label: Prénom
width: 1/4
lastName:
label: Nom
width: 1/4
email:
label: Email
width: 1/4
company:
label: Entreprise
width: 1/4
role:
label: Fonction
downloadedAt:
label: Date
fields:
firstName:
type: text
label: Prénom
lastName:
type: text
label: Nom
email:
type: email
label: Email
company:
type: text
label: Entreprise
role:
type: text
label: Fonction
downloadedAt:
type: text
label: Date