Pages publiques — Règles métier
Accessibilité
- Les pages publiques (landing, about, contact, FAQ, pages légales) sont accessibles sans authentification
- Le header public adapte ses CTA selon l'état d'authentification :
- Non connecté : boutons "Connexion" et "Inscription"
- Connecté : bouton "Jouer" (redirection vers les matchs)
- Tous les champs sont obligatoires : nom, email, sujet, message
- L'email doit être un format valide
- Le message doit contenir au minimum 10 caractères et au maximum 5000
- Le formulaire est protégé par rate limiting (5 requêtes/minute par IP)
- L'email de contact est envoyé à l'adresse configurée dans l'environnement
- En cas d'échec d'envoi email, l'utilisateur reçoit quand même un message de succès (UX positive, l'erreur est journalisée côté serveur)
FAQ
- Le contenu de la FAQ est stocké comme paramètre système (clé
faq) - Le format est un tableau JSON d'objets
{ question, answer } - L'affichage utilise un format accordion (une seule question ouverte à la fois)
Pages légales
- Le contenu des pages légales (CGU, Politique de confidentialité, Mentions légales) est stocké comme paramètres système
- Le contenu est au format HTML et rendu tel quel
- Les clés de paramètres autorisées pour l'accès public :
cgu, privacy_policy, legal_mentions, faq
Navigation
- Toutes les pages publiques partagent le même header et le même footer
- Le footer contient des liens vers toutes les pages légales et les pages de navigation
- Le header contient des liens vers À propos, FAQ et Contact