Contexte et origine du projet
Depuis plusieurs annĂ©es, notre forum utilise lâextension Topic/Post Reactions pour permettre aux membres de rĂ©agir aux messages avec des Ă©mojis et des âlikesâ. Malheureusement, cette extension nâa pas Ă©tĂ© mise Ă jour depuis longtemps et est devenue incompatible avec la version actuelle de phpBB (3.3.15).
AprÚs plusieurs tentatives pour la faire fonctionner, nous avons constaté que :
- Les liens de téléchargement officiels étaient brisés.
- La documentation et le support du dĂ©veloppeur nâĂ©taient plus disponibles.
- Le forum subissait des plantages lorsquâon essayait dâactiver lâextension.
Face à cette situation, nous avons décidé de lancer un projet interne pour développer une nouvelle extension moderne et maintenable, adaptée à phpBB 3.3.15.
Objectifs du projet
Lâobjectif principal est de crĂ©er une extension de rĂ©actions aux posts qui soit :
Moderne et fiable
- Compatible avec phpBB 3.3.15
- Fonctionne avec les navigateurs récents et les mobiles
- Facile à maintenir et à étendre
Flexible et intuitive pour les utilisateurs
- Support des rĂ©actions multiples avec Ă©mojis Unicode (đ â€ïž đ đ âŠ)
- Affichage des compteurs pour chaque réaction
- Possibilité de voir qui a réagi à un post
- Choix via un sĂ©lecteur dâĂ©mojis simple et clair :
- 5 Ă 6 emojis visibles par dĂ©faut pour des âlikesâ rapides
- Palette complĂšte dâemojis dĂ©roulante ou apparaissant sur demande pour permettre la crĂ©ativitĂ©
Respect des standards Unicode
- Utilisation dâĂ©mojis Unicode uniquement (pas dâimages) pour un affichage natif sur tous les systĂšmes
Pré-requis techniques
Pour tester et dĂ©velopper lâextension, nous aurons besoin :
- Un environnement phpBB 3.3.15 fonctionnel
- Soit une installation neuve pour tester
- Soit une copie du forum existant sur un serveur local
- PHP â„ 7.3 et MySQL / MariaDB compatibles
- AccÚs aux fichiers et à la base de données pour créer la table
post_reactionsautomatiquement Ă lâinstallation si elle nâexiste pas
Cahier des charges final
Le cahier des charges définit les fonctionnalités minimales et avancées :
- Chaque post peut recevoir plusieurs réactions
- Un utilisateur peut :
- Ajouter une réaction
- Retirer sa réaction
- Changer de réaction
- Les rĂ©actions existantes doivent ĂȘtre visibles sous chaque post
- PossibilitĂ© dâimporter les anciennes rĂ©actions depuis lâancienne extension pour ne pas perdre les donnĂ©es historiques
- Interface utilisateur simple : compteur + bouton â+â pour accĂ©der Ă la liste complĂšte des Ă©mojis
- RequĂȘtes AJAX pour un affichage fluide sans rechargement de page
- Stockage direct de lâUnicode de lâemoji choisi, sans table sĂ©parĂ©e pour les types de rĂ©actions
- Inclusion du
topic_iddans la table pour faciliter les statistiques par sujet
Partie graphique et front-end
1. OĂč afficher les rĂ©actions
- Sous chaque message/post, dans le template
viewtopic_body.html - Bloc HTML contenant :
- Les 5â6 emojis visibles par dĂ©faut
- Le bouton â+â pour accĂ©der Ă la palette complĂšte
- Les compteurs actuels pour chaque emoji
2. Exemple de structure HTML :
<div id="post_id_123" class="postbody">
<p>Contenu du message...</p>
<div class="post-reactions">
<span class="reaction" data-unicode="đ">đ <span class="count">3</span></span>
<span class="reaction" data-unicode="â€ïž">â€ïž <span class="count">5</span></span>
<span class="reaction" data-unicode="đ">đ <span class="count">2</span></span>
<span class="reaction" data-unicode="đź">đź <span class="count">1</span></span>
<span class="reaction" data-unicode="đą">đą <span class="count">0</span></span>
<span class="reaction" data-unicode="đĄ">đĄ <span class="count">0</span></span>
<button class="reaction-more">+</button>
</div>
<div class="reaction-picker" style="display:none;">
<span class="reaction" data-unicode="đ">đ</span>
<span class="reaction" data-unicode="đ">đ</span>
<span class="reaction" data-unicode="đ€Ł">đ€Ł</span>
<!-- Palette complĂšte dâemojis -->
</div>
</div>
3. Comportement JavaScript
- Clic sur un emoji â AJAX pour ajouter/retirer la rĂ©action
- Clic sur â+â â affichage de la palette complĂšte
- Clic sur un emoji de la palette â AJAX + fermeture de la palette
- Mise à jour des compteurs en temps réel
4. Gestion de la localisation (FR / US)
- Fichiers de langue phpBB :
language/fr/reactions.phplanguage/en/reactions.php
- Exemple :
// FR
$lang = array_merge($lang, array(
'REACTION_ADD' => 'Ajouter une réaction',
'REACTION_REMOVE' => 'Retirer votre réaction',
'REACTION_MORE' => '+',
));
// EN
$lang = array_merge($lang, array(
'REACTION_ADD' => 'Add a reaction',
'REACTION_REMOVE' => 'Remove your reaction',
'REACTION_MORE' => '+',
));
Ătapes du projet
- Préparer un environnement de test phpBB 3.3.15
- CrĂ©er la structure minimale de lâextension
- Programmer la création automatique de la table SQL
post_reactionsĂ lâinstallation - ImplĂ©menter lâaffichage des rĂ©actions et le sĂ©lecteur dâĂ©mojis
- 5â6 emojis visibles par dĂ©faut
- Palette complĂšte dâemojis dĂ©roulante
- Ajouter les fonctionnalités AJAX pour une interaction fluide
- Créer les fichiers de langue FR et EN
- PrĂ©voir lâimport des anciennes rĂ©actions depuis lâancienne extension
- Tester et déboguer sur le forum de test
Ce projet marque le dĂ©but dâune refonte moderne des interactions sur notre forum. Lâobjectif est de crĂ©er un systĂšme fiable, maintenable et intuitif, pour que chaque membre puisse exprimer ses rĂ©actions facilement, et que les administrateurs puissent gĂ©rer tout cela simplement.
Bonjour
J’ai installĂ© un phpBB 3.3.15 qui fonctionne.
Que faut-il faire maintenant pour aider ?
@+
DEnis
Denis on se fait une visio conf et on en parle đ