đ§ 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
utf8classique 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
utf8fonctionnerait 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 :
- Afficher exactement les 10 émojis les plus courantes (configurables via le PCA).
- 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.