👍Lancement d’un projet d’extension “RĂ©actions aux posts” pour phpBB 3.3.15😂😂😂

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_reactions automatiquement Ă  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_id dans 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.php
    • language/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

  1. Préparer un environnement de test phpBB 3.3.15
  2. CrĂ©er la structure minimale de l’extension
  3. Programmer la crĂ©ation automatique de la table SQL post_reactions Ă  l’installation
  4. 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
  5. Ajouter les fonctionnalités AJAX pour une interaction fluide
  6. Créer les fichiers de langue FR et EN
  7. PrĂ©voir l’import des anciennes rĂ©actions depuis l’ancienne extension
  8. 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.

2 thoughts on “👍Lancement d’un projet d’extension “RĂ©actions aux posts” pour phpBB 3.3.15😂😂😂

Laisser un commentaire

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