Tutoriel Symfony : Notifications instantanées avec Mercure
Вставка
- Опубліковано 9 лют 2025
- Article ► grafikart.fr/t...
Abonnez-vous ► bit.ly/Grafika...
Symfony vient de se doter d'un système capable de gérer les [notifications instantanées](symfony.com/bl.... Ce système, basé sur [Mercure](github.com/dun...) va permettre à l'application Symfony de transmettre des évènements à un hub qui se chargera ensuite de les transmettre aux périphériques qui y sont connectés.
Soutenez Grafikart:
Devenez premium ► grafikart.fr/p...
Donnez via Utip ► utip.io/grafikart
Retrouvez Grafikart sur:
Le site ► grafikart.fr
Twitter ► / grafikart_fr
Discord ► grafikart.fr/t...
(How Symfony taught me French)
-> Finds a tutorial for Symfony/Mercure.
-> HAPPY!
-> Oh no, the tutorial is in French.
-> Googles "French for beginners"
Génial ce tutoriel, à croire que tu as lu ma demande sur ton tuto Sf4. Merci encore, je suis fier d'être en Premium sur ton site!
Incroyable cette réactivité et cette qualité ! Merci tellement
Fantastique, Merci Grafikart
Merci pour le contenu Grafikart ! vous etes a l'écoute de Symfony xD
Excellente découverte !!!
Enfin , Bonjour Jonathan , Merci encore pour tout ...
Pour ceux qui n'ont pas pu tester mercure avec postman ou autre, sous l'url: (localhost:3000/hub), maintenant ça marche avec l'url suivante: (localhost:3000/.well-known/mercure)
et pour la config dans .env aussi: MERCURE_PUBLISH_URL=localhost:3000/.well-known/mercure
yes, par contre quand je tente le test de ma route /ping j'ai Couldn't connect to server for "localhost:3000/.well-known/mercure".
...
Merci Grafikart.
Yay! Merci Grafikart
Technologie très intéressante. Merci pour la vidéo
Et merci à toi pour ce Tuto !
Le hasard nous réunit vers les mêmes tuto ^^
@@djilansoule Heyy ! Et oui on continue de pousser la connaissance autour de symfony ! ;) Bonne soirée à toi !
Trés bon Tuto comme dab, j'ai une petite question , est ce que Mercure est un bon choix pour implementer une application de messagerie instantanée ou bien il faudrait se tourner vers les Web Sockets ?
Merci d'avance.
bonjour. j'ai une erreur, pour ma part le constructeur de Update ne contient pas de target mais plutot: ($topics, $data, $private, $id, $type, $retry)
Super vidéo comme d'habitude, surtout pour moi qui était coller à CackePHP je vois mieux comment ce framework peut m'aider à travailler encore plus vite
Salut Jonathan et merci pour ta vidéo!Je voulais te demander si tu as une idée pour tourner le serveur mercure en mode prod, comment on peut le configurer avec apache par exemple.J'ai lu la documentation mais elle n'est pas vraiment claire.Merci
Même interrogation pour un serveur mutualisé..
@@spaceoverview4268 J'ai finalement abandonné mercure, je te conseille pusher, c'est de loin meilleur, pas trop de casse tête.pusher.com/
This is the best tutorial I saw on this. Good thing I learned French in school ... do you have the code on GIT? Excellent example and clean code.
Bonjour Grafikart et Merci pour ta vidéo. J'ai un Souci depuis une heure au niveau de la première méthode Ping. J'ai la requête POST qui passe bien avec Postmann et qui s'affiche mais lorsque je clique sur le bouton ping j'ai l'erreur suivante : Undefined index http_method. Please de l'aide
Bonjour Grafikart, merci encore pour ce tuto qui est bien clair comme d'habitude. Cependant, je n'arrive pas à envoyer le message à un utilisateur spécifique. j'ai une erreur 401 lorsque j'ajoute {withCredentials: true} sur la page qui doit écouter l'événement. STP, tu sais si cela est dû à quoi ?
Bonjour je me permet de relancer ce message car je suis vraiment bloqué. Votre aide !
@@TheRlubo1 "Si vous recevez un message d'erreur 401 (non autorisé), cela signifie que vous essayez d'accéder à une page à laquelle vous devez d'abord vous connecter avec un ID utilisateur et un mot de passe valides." Tu es sûr que ton token est correct etc ?
Bonjour Cher Antoyne . Merci pour ta réponse. Mon utilisateur est bien connecté. J’arrive à dispatcher la réponse à tous les utilisateurs connectés. Mais pas à un utilisateur spécifique. Si cela marche pour toi, serait-il possible de partager avec moi ton code ? Encore merci
@@TheRlubo1 Je suis actuellement en train de suivre le tuto et j'en suis bloquer au même niveau mais pas pour les mêmes raisons. Si ce n'est pas déjà fait ce lien peut t'être utile github.com/dunglas/mercure/issues/63
@@DemoniaCofficiel grand merci ! Je travaillais sur autre chose en attendant. je vais lire la discussion du lien que tu m'a partagé. Si j'arrive à décanter la situation, je reviendrai vers toi. Sinon, si tu as pu résoudre le problème, tu peux partager avec nous ton expérience.
Merci, très intéressant ! Seulement… Dans quel cas utiliser Mercure et dans quel cas utiliser les WebSockets ? Je vois les différences mais j’ai quand même du mal à déterminer dans quel contexte prendre l’un ou l’autre. Merci d’avance pour la réponse :)
Excellent tuto merci
Bonjour,
Super tuto merci !
Petite question: Est-il possible d'utiliser mercure sans lancer le serveur via le terminal ? Ou est-il possible de lancer cette commande automatiquement depuis notre code ?
Merci top ce tuto +1000
Merci encore pour cette brillante vidéo, comme d'habitude d'ailleurs.
Il existe aussi API-Platform. Ne pourrais-Tu pas nous faire un tuto là-dessus ?
merci, svp est ce que c 'est supportable sur avec un client mobile (app mobile)
Je suis bloqué avec cette erreur quand je test mon bouton ping : Couldn't connect to server for "localhost:3000/.well-known/mercure". MERCURE_PUBLISH_URL & MERCURE_JWT_TOKEN correctement configuré dans le .env.local et le .env... et serveur mercure lancé avec l'option anonyme
Fantastique ! ... Maintenant avec Api Platform tout est automatique comme indiqué dans la doc. SAUF que en fait NON, c'est bien plus compliqué à vraiment l'installer, et j'ai des erreurs en cascade d'installation qui rend impossible ça mise en service, d'ailleurs si quelqu'un connait une vidéo pour configurer MERCURE avec API Platform de base ça m'intéresse !
Salut, merci pour ce tutoriel J'ai une question hors contexte: D Quelle distribution de Linux utilisez-vous?
une idée pour un tuto, utiliser docker pour lancer symfony je sais pas si c'est possible ainsi que son hébrgement avec docker.
Merci beacoup monsieur pour la vedio
Oui
@@grafikart D'accord :) merci encore une fois
J'ai toujour cette erreur " Handling "Symfony\Component\Mercure\Update" failed: Failed to send an update. " ce que je ne comprends pas..
Hello @grafikart ^^!
Possible de faire un chat / messagerie instantanée avec Mercure ?
oui
COmment pourrais-je deployer l'application symfony avec mercure ? SVP!
slt @NY HARENA fitahiantsoa RAHERIMIANTRA RABEARISOA avez vous trouvé comment faire svp?
@Grafikart belle vidéo.... mais stp tu peux reprendre la vidéo sur mercure avec symfony 5 ou 6 ?? STP
excellent Tuto ! est ce que le code javascript est pareil si on travail avec react js ?
Oui c'est pareil !
Bonjour Grafikart merci pour la video, est ce qu c utile Mercure pour creer un system de chat multiusers? Merci
oui je pense que oui. meme pas beaucoups de changement du code par rapport à ce que Johnaten à fait dans la vidéo.
Nice Merci!
Salut grafikart,comment fait on pour heberger Mercure sur OVH?
Il faut un serveur dédié
merci beaucoup
Salut grafikart j'ai une idée de tuto pour compléter ton cours PHP, c'est les sockets php.net/manual/fr/book.sockets.php
j'ai un probleme , je veux que la notification envoyée a une utilisateur sepecifique non pas pour tout les utilisateurs
Tu peux abonner ton utilisateur a un channel particulier (par exemple /user/2) et tu n'envoie les messages que sur ce channel .
@@grafikart j'ai n'a pas compris votre réponse le probléme c'est que la notification elle est a tout les utilisateurs non pas a l'utilisateur que je veux
bonjour monsieur grafikart tu peux nous faire une serie de symfony 4 de A a Z
merçi Que dieu te béni
bonjour, existe t il quelque chose de similaire pour laravel?
Il est possible de le faire simplement, c'est juste un appel cURL (ou file_get_content):
github.com/dunglas/mercure/blob/master/examples/publisher-php.php
c'est adaptable partout il me semble
On pourrait adapter mercure à Laravel sans trop de problèmes.
Cependant Laravel dispose de Laravel Echo pour une fonction similaire :
www.grafikart.fr/tutoriels/laravel-echo-websocket-890
@@kbtankou3155 , je vais me plonger dans la doc.
@@grafikart merci, je vais potasser ça.
hi !!
any updates about symfony/messenger because it return "Failed to send an update." with code 500, when i visit localhost:8000/ping(Publisher -- MessageBusInterface) and thnx
I'm a little sorry that the audio is french, but the code is very clear, so initially i watch with english auto translate, but now I just listening some synthwave and watch the code :)) Thank you some much!
... (Anyway!! I have an issue, in powershell (win10 local env) I cant start the mercure with the command (I try a lot of syntax)... So at first I need write the all options (ADDR, JWT_KEY etc.) to my .env...
Bonjour, d'abord merci pour ce tuto, au fait, j'ai suivi le tutoriel à la rasoir mais par contre à la minute '27m:35s' je n'obtient pas le cookie pour le hub du coup je suis embêter car je n'obtient pas le ping ! j'utilise comme toi chrome est en haut en entête du hub "Request Headers" j'ai une alert "Provisional headers are shown", si quelqu'un pourrai m'aidez, merci d'avance
finalement ça marcher pour moi j'ai utilisé la deuxième méthode d'authentification par Header et en EventSourcePolyfill vous pouvez voir la fils de discussion qu'il ya eu à ce sujet sur cette issues de github : github.com/dunglas/mercure/issues/65
Il faut maintenant enlever les " " ou ' ' lors du lancement du serveur. Sinon aVerySecretKey deviens 'aVerySecretKey'
Ça a l'air un peu chiant quand même à utiliser là 😞