Modification du cahier des charges pour l’extension Reactions pour PhPBB


Cahier des charges complet et consolidé

Voici le cahier des charges final de votre extension, compilant toutes vos demandes initiales et les fonctionnalités avancées que nous avons élaborées.

1. Fonctionnalités clés des réactions 🎨

  • Gestion des réactions par post : Un post pourra afficher un maximum de 20 types d’émojis de réaction différents. Une fois cette limite atteinte, les utilisateurs ne pourront plus ajouter de nouveaux types d’émojis, mais pourront continuer à utiliser ceux déjà présents.
  • Gestion des réactions par utilisateur : Chaque utilisateur connecté pourra laisser jusqu’à 10 émojis de réaction différentes par post.
  • Visibilité et affichage :
    • Les utilisateurs non-connectés ne verront que le compteur de réactions.
    • Les utilisateurs enregistrés, en passant la souris sur un émoji, pourront voir la liste des utilisateurs ayant réagi. Cette liste se chargera à la fois au chargement initial de la page et se mettra à jour en temps réel grâce à une connexion asynchrone (AJAX ou WebSockets).
  • Comportement d’interaction : Un clic sur un émoji, qu’il soit dans le sélecteur ou sous le post, aura la même fonction : il ajoutera la réaction si elle n’existe pas, ou la retirera si l’utilisateur l’a déjà sélectionnée.
  • Sélecteur d’émojis (Pickup) : Le sélecteur affichera exactement 10 émojis les plus courantes au-dessus de la liste complète JSON, avec le pouce en l’air (👍) et le pouce en bas (👎) en première et deuxième positions dans le pickup, pour un message sans réactions on ne verra sur l’interface que le + pour en ajouter, elles n’apparaissent pas par défaut en dessous du message sauf les emojis ayant au minimun une réaction, les 10 émojis les plus courants dites emojis par défaut n’apparaissent que dans le Pickup.

2. Système de notifications 🔔📧

  • Type de notification : Le propriétaire d’un post recevra une notification lorsqu’un utilisateur y ajoute une réaction. Cette notification sera envoyée via le système de cloche de phpBB, mais aussi par email, selon les préférences de l’utilisateur.
  • Règles de fonctionnement :
    • La fonctionnalité sera activée par défaut pour tous les nouveaux utilisateurs.
    • Chaque utilisateur pourra la désactiver via une option dans son Panneau de l’utilisateur (UCP).
    • Une fenêtre anti-spam de 45 minutes sera mise en place. Si un post reçoit plusieurs réactions de la part de différents utilisateurs dans cet intervalle, une seule notification consolidée sera envoyée au propriétaire pour éviter l’envoi de multiples notifications. La notification regroupera les noms des utilisateurs.
  • Contenu de la notification : Le message précisera qui a réagi et quand, en mentionnant le titre du sujet et le nom du posteur.

3. Statistiques utilisateur 📊

  • Emplacement : Une section sera ajoutée au profil public de chaque utilisateur, visible par tous.
  • Contenu : Ce bloc affichera de manière claire le total des réactions données et reçues par l’utilisateur :
    • Réactions données : [Nombre total]
    • Réactions reçues : [Nombre total]
  • Mécanisme : Les statistiques seront calculées dynamiquement à la demande, en interrogeant la base de données.

4. Structure de la base de données 💾

L’extension s’appuiera sur la table phpbb_post_reactions dont le schéma est fourni dans votre fichier de migration. Cette structure est suffisante pour toutes les fonctionnalités requises, incluant les statistiques et les notifications. Rappel de l’adresse du dépôt GitHub : https://github.com/Bastien59960/phpbb-reactions

5. Sécurité

Renforcements :

  • Validation CSRF obligatoire sur toutes les requêtes AJAX
  • Vérification des permissions utilisateur à chaque action
  • Échappement SQL pour tous les émojis en base
  • Validation de la longueur des émojis (max 20 caractères)

6. État actuel du développement en image :

7. à modifier :

*Ne pas appeller les 10 emojis principale que sont les emojis par défaut « populaires » pas besoins de titre dans le pickup pour ça, ça prend de la place pour rien.

*Le bouton + doit rester fixe sur la gauche et les emojis doivent s’ accumulées sur la droite.

L’ascenseur doit-être plus gros et plus visible dans le pickup. Penser aussi aux téléphones portables pas seulement aux écrans d’ordinateurs.

Déplacer les réaction en dessous de la signature des posts :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *