OK mon message n'était pas clair. Désolé.
En fait j'ai cité SockJS parce que c'est un protocole, pas une lib client. Je ne suis pas en train d'opposer implémentation client et serveur là, juste de prendre les deux en considération, et pas m'arrêter à "c'est plus facile côté serveur".
Le truc, c'est que les websockets (et le HTML 5 Socket-Send-Events) ne sont malheureusement pas encore supportés par tous les clients. Notamment Android Browser et IE <= 9.
D'où la nécessité de pouvoir dégrader le fonctionnement du push proprement sur des navigateurs qui ne les supportent pas. Et attention, j'ai pas mis Cordova / PhoneGap dans l'équation parce que je connais pas leur support sur ces technos mais faut y faire gaffe aussi, on a fait une API principalement pour les mobiles, les notifs ça me paraît aussi être très intéressant pour les clients mobiles.
SockJS permet de dégrader proprement les websockets (notamment en utilisant du "long polling" HTTP classique) et ce, sans que tu n'aies à toucher une seule ligne de code dans le client ou le serveur.
En ce qui concerne les SSE, je ne les ai jamais utilisées pour une bonne et simple raison : j'ai toujours besoin que le client envoie des données au serveur, ne serait-ce qu'un jeton d'authentification (client mobile, extension Chrome, bref des problématiques qu'on a aussi sur ZdS) pour que je sache qui il est. J'ai jamais essayé mais j'imagine que dans le cas où la page est servie côté serveur ça doit être contournable, mais dans le cas d'une app mobile, si le client ne peut pas pusher au moins son jeton je vois pas comment ça peut fonctionner.
Voilà, j'ai parlé de SockJS et de websockets parce que je les utilise quotidiennement en production, je sais que ça fonctionne, que c'est performant, et que ça correspond aux besoins de ZdS. J'ai absolument rien contre un POC sur plein de technos différentes, mais si j'ai pas parlé de SSE c'est parce que je comprends pas comment ça pourrait convenir à dire "Hello, envoie mes MPs stp, je suis M. XXX, ah, et puis envoie moi aussi les tutos aussi, mais pas les notifs sur les cours ça m'intéresse pas", bref du pub/sub classique, qui nécessite que le client envoie une liste de topics auquels il souscrit.
Et si j'ai parlé de SockJS, c'est aussi parce qu'il me semble que ça provient du monde Python à la base et que ça me semblait "classique" de plugger ça sur Django (y'a une autre implémentation mais je vois pas ce que Redis vient faire là-dedans…) et qu'on n'était pas les premiers à le faire.
Mais encore une fois, je ne suis pas attaché à une techno particulière, si t'as un POC qui fonctionne avec les SSE vas-y, ça m'intéresse vachement !