Aller au contenu

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)

Formulaire de contact

  • 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
  • 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