Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony 5] Chat instantané

    5 mars 2021 à 8:17:51

    Hello, je sais que c’est un sujet qui revient souvent, mais je n’ai pas vraiment trouvé de solution à mon cas. 

    donc j’ai besoin de créer un système de chat instantané et privé entre deux utilisateur, un peu comme un Messenger. 

    Mon application est entièrement sous symfony 5, et elle est hébergée chez Planethoster. J’ai entendu parler de Mercure et Messenger mais je sais pas si ça me poserait pas de soucis pour mettre en ligne. 

    Merci pour votre aide, je n’ai pas trouvé de tuto ou bundle qui correspond à mon cas :/ 

    • Partager sur Facebook
    • Partager sur Twitter
      5 mars 2021 à 13:11:43

      Bonjour,

      Je crois que nous avons déjà échangé sur le sujet de messagerie interne ?

      Pour la messagerie instantanée moi j'utilise 2 solutions différentes en fonction de l'age des applis :

      - la première est avec GosWebSocketBundle :  https://github.com/GeniusesOfSymfony/WebSocketBundle je l'utilise dans une version SF 4.4 et je ne sais si compatible avec 5.

      - la seconde est bien à base de Mercure et du composant Messenger de Symfony et fonctionne en environnement SF5. Un bon tuto pour débuter : https://afsy.fr/avent/2019/21-symfony-et-mercure

      Et comme j'héberge chez moi, je ne sais répondre quand à la compatibilité avec ton hébergeur.

      A+

      -
      Edité par monkey3d 5 mars 2021 à 13:15:13

      • Partager sur Facebook
      • Partager sur Twitter
        5 mars 2021 à 19:08:18

        Salut, oui exact nous en avons déjà parlé, et j'ai bien réussi à mettre un truc en place, le problème c'est que c'est vraiment du rafistolage de partout et c'est pas propre et pas optimisé, ni réactif. Donc je serai pour utiliser la solution de mercure, car l'autre ne fonctionne pas en version Sym.5 Je crois.

        J'ai déjà essayé ce tuto, mais je comprends pas tellement comment en faire quelque chose de privé entre les users du site ? Pourrais-tu m'éclairer sur cette partie ? Je te remercie comme toujours !!

        Edit : apparemment le premier lien fonctionne aussi en symfony 5 d’après la doc 🤔 tu as un tuto d’application qui l’utilise ?

        -
        Edité par AlexisMoren 6 mars 2021 à 1:00:07

        • Partager sur Facebook
        • Partager sur Twitter
          6 mars 2021 à 6:50:44

          Non, je n'ai pas de tuto pour la mise en oeuvre de GosWebSocketBundle.

          Que veux-tu dire faire quelque chose de privé ? ... fonctionnellement ...

          A+

          • Partager sur Facebook
          • Partager sur Twitter
            6 mars 2021 à 7:37:39

            Bah sur le tuto de mercure là c’est pour faire un chat public accessible à tous, je souhaiterai faire un chat privé entre deux personnes maximum, seuls les deux utilisateurs concernés peuvent voir la discussion; que tous les utilisateurs puissent faire des conversations privées avec la personne de leur choix en résumé.
            • Partager sur Facebook
            • Partager sur Twitter
              7 mars 2021 à 6:28:06

              J'ai fait cela avec 2 techniques différentes :

              1) tu as une liste d'abonnement d'un utilisateur à une file de messages émis par quelqu'un. Si tu connais le protocole mqtt c'est un peu la même idée. Donc l'utilisateur A indique qu'il s'abonne aux messages de l'utilisateur D et donc seuls les messages de D lui sont transmis. Là c'est côté serveur que tu vas gérer les listes d'abonnement.

              2) côté client : les messages sont broadcaster à tous et tu filtres en js par rapport au choix de l'utilisateur qui reçoit.

              La technique 1 est la meilleure me semble t-il pour des raisons de sécurité et de performance. La 2 est simple à mettre en oeuvre et si peu d'utilisateurs alors pas de problème de perf.

              A+

              • Partager sur Facebook
              • Partager sur Twitter
                7 mars 2021 à 12:34:18

                D’accord je vais voir ca. par contre sur le tuto de mercure jai un soucis, quand je poste un message ça me remet sur la page ou je dois indiquer le nom de l’utilisateur, pourtant j’ai bien suivi et vérifié avec le code source, tu as une idée ? 🤔
                • Partager sur Facebook
                • Partager sur Twitter
                  8 mars 2021 à 6:51:13

                  J'avoue mettre écarter très largement du sujet depuis plus d'un an et je ne sais te dire.

                  D'ailleurs, je ne pratique pas comme cela : il faut déjà être identifié pour avoir accès au chat. Donc le username est déjà connu ...

                  Peut-être voir le github ?

                  Je crois que tu as posté pour le rédacteur du tuto la question ? il va peut-être te répondre.

                  A+

                  • Partager sur Facebook
                  • Partager sur Twitter

                  [Symfony 5] Chat instantané

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown