đŸ› ïž Cahier des Charges – Extension phpBB Reactions au 28/09/2025


🔧 A. Core Technique et Base de DonnĂ©es


A.1 – Support des Émojis 4 Octets (utf8mb4)

đŸŸ„ NÉCESSAIRE

Pour que l’extension fonctionne correctement avec l’ensemble des Ă©mojis modernes, la colonne reaction_emoji de la table phpbb_post_reactions doit absolument utiliser un encodage utf8mb4.

Pourquoi ?

  • L’encodage utf8 classique dans MySQL/MariaDB ne stocke que 3 octets, ce qui suffit pour la plupart des caractĂšres, mais pas pour les Ă©mojis rĂ©cents.

  • RĂ©sultat : lorsqu’un utilisateur tente d’ajouter un Ă©moji comme đŸȘŒ, 🩖 ou đŸ§‘đŸżâ€đŸ’», la base de donnĂ©es renvoie une erreur du type : « Incorrect string value : ‘\xF0\x9F\xAA\xBC’ « .

  • Avec utf8mb4, tous les Ă©mojis Unicode (4 octets) sont correctement pris en charge, sans plantage.

👉 Autrement dit :

  • Si nous voulons que l’extension soit robuste et universelle, utf8mb4 est indispensable.
  • Rester en utf8 fonctionnerait seulement avec une liste trĂšs restreinte d’émojis basiques (👍 ❀ 😂), mais cela casserait dĂšs qu’un utilisateur choisirait un caractĂšre plus rĂ©cent.

A.2 – Chargement initial des rĂ©actions
🟧 BUG MAJEUR à corriger
Le systĂšme doit corriger le bug actuel : les rĂ©actions enregistrĂ©es en base de donnĂ©es doivent ĂȘtre correctement chargĂ©es et affichĂ©es sous chaque post lors du chargement initial de la page (viewtopic).

A.3 – Gestion AJAX
🟹 Squelette prĂȘt
Toutes les interactions de l’utilisateur (ajouter, retirer, changer une rĂ©action) doivent ĂȘtre gĂ©rĂ©es via des requĂȘtes AJAX pour garantir une expĂ©rience fluide et sans rechargement de page.

A.4 – Structure des dossiers
đŸŸ© ConfirmĂ© (via Feedback Ami)
L’installation doit respecter la structure canonique de phpBB : ext/bastien59960/reactions/.


đŸ™‹â€â™‚ïž B. FonctionnalitĂ©s et Interactions Utilisateur

B.1 – Limite de Types par Post
⚙ PARAMÉTRABLE
Le nombre maximum de types d’Ă©mojis diffĂ©rents (e.g., 👍, ❀, 😂) affichĂ©s sous un post sera une option configurable dans le PCA (par dĂ©faut : 20). Une fois cette limite atteinte, les utilisateurs ne peuvent plus introduire de nouveau type.

B.2 – Limite par Utilisateur/Post
⚙ PARAMÉTRABLE
Le nombre maximum de rĂ©actions totales qu’un utilisateur peut laisser sur un post sera une option configurable dans le PCA (par dĂ©faut : 10).

B.3 – Interaction Toggle
✅ SPEC FINALE
Un clic sur un Ă©moji doit basculer l’Ă©tat de la rĂ©action pour l’utilisateur concernĂ© : Ajouter si la rĂ©action n’existe pas, ou la retirer si l’utilisateur l’a dĂ©jĂ  sĂ©lectionnĂ©e.


🎹 C. Affichage et ExpĂ©rience Utilisateur (UX)

C.1 – VisibilitĂ© InvitĂ©s
✅ SPEC FINALE
Les utilisateurs non-connectés (invités) ne verront que le compteur total de réactions. Ils ne pourront ni réagir, ni voir la liste des réacteurs.

C.2 – Liste des RĂ©acteurs (Hover)
✅ SPEC FINALE
Les utilisateurs connectés, en passant la souris sur un émoji affiché sous le post, doivent voir une tooltip ou une liste détaillée des utilisateurs ayant utilisé cette réaction. Cette liste doit se charger dynamiquement via AJAX.

C.3 – Affichage par dĂ©faut du post
✅ SPEC FINALE
Par dĂ©faut, les Ă©mojis de rĂ©action n’apparaissent pas sous le message s’il n’y a aucune rĂ©action. Seul le bouton + (ou Ă©quivalent) pour ajouter une rĂ©action doit ĂȘtre visible.

C.4 – SĂ©lecteur Pickup (Mobile-First)
🔧 TODO
Le sĂ©lecteur d’Ă©mojis (Pickup) doit ĂȘtre optimisĂ© pour le mobile :

  1. Afficher exactement les 10 émojis les plus courantes (configurables via le PCA).
  2. Un bouton dĂ©diĂ© doit permettre d’accĂ©der Ă  la liste complĂšte Ă  partir du fichier JSON.

C.5 – Priorisation du Pickup
✅ SPEC FINALE
Les 10 Ă©mojis du Pickup doivent ĂȘtre clairement identifiĂ©es, avec le pouce en l’air (👍) et le pouce en bas (👎) positionnĂ©s en premier et deuxiĂšme par dĂ©faut.


🔔 D. Systùme de Notifications

D.1 – Notification Cloche phpBB
✅ SPEC FINALE
Le propriĂ©taire du post doit recevoir une notification via le systĂšme de cloche (bell system) de phpBB lorsqu’un utilisateur y ajoute une rĂ©action.

D.2 – Notification Email
✅ SPEC FINALE
Une notification doit Ă©galement ĂȘtre envoyĂ©e par email au propriĂ©taire du post, en respectant ses prĂ©fĂ©rences utilisateur dĂ©finies dans le PCA.


đŸ›Ąïž E. Administration et Maintenance (PCA)

E.1 – Interface ACP (GĂ©nĂ©ral)
🔧 TODO
CrĂ©ation d’un onglet dĂ©diĂ© dans le Panneau de Configuration Administrateur (PCA) pour gĂ©rer les paramĂštres de l’extension.

E.2 – ParamĂ©trage des Limites
⚙ PARAMÉTRABLE
L’ACP doit permettre de dĂ©finir les valeurs pour les exigences B.1 (Limite de types par post) et B.2 (Limite par utilisateur/post).

E.3 – Gestion du Pickup
🔧 TODO :

L’ACP doit permettre de dĂ©finir et d’ordonner les 10 Ă©mojis par dĂ©faut qui apparaissent dans le sĂ©lecteur rapide (Pickup).

Dans le Pickup : Un bouton dĂ©diĂ© dans le sĂ©lecteur permettra, si l’utilisateur le souhaite, d’afficher l’intĂ©gralitĂ© des Ă©mojis disponibles.

La liste complĂšte des Ă©mojis (provenant du fichier JSON, plus de 4000 Ă©lĂ©ments) doit ĂȘtre masquĂ©e par dĂ©faut, afin d’éviter un affichage trop long sur mobile.

E.4 – Migration des donnĂ©es
🔧 TODO :
DĂ©velopper une fonctionnalitĂ© d’import pour les utilisateurs souhaitant migrer les anciennes rĂ©actions (d’une autre extension, par exemple) vers la nouvelle table phpbb_post_reactions.

Laisser un commentaire

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