IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Question et conseil, websockets et PHP [PHP 5.5]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut Question et conseil, websockets et PHP
    Bonjour à tous et merci d'avance pour votre aide.

    Je développe actuellement un projet de type réseaux sociaux à l'aide de CakePHP, mySQL, jQuery et Ajax.

    A ce projet j’aimerais intégré
    • Une messagerie instantané entre utilisateur (chat)
    • Systéme de notification à l'utilisateur (push)


    Jusqu’à hier, j'ignorai l'existence des websockets et je m y suis très vite perdu.
    Après plusieurs heures de lectures, je vois ci-et-là node.js, phpwebsocket, ratchet et bien d'autres.

    Mais question est la suivante
    • A ce jour, quel serait la solution fiable et maintenu qui conviendrais au mieux à mon projet ?
    • Aussi se pose la question de la compatibilité navigateur et de l'hébergement, qu'en est-il ?


    Questions subsidiaires
    • L'utilisation des websockets, me permet-elle d'écater l'utilisation de d'Ajax ?


    Merci à vous,

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Points : 70
    Points
    70
    Par défaut
    La seule stack que j'ai éprouvé sur le sujet c'est socketio sous node, ça me paraît correspondre à ton besoin en quelques lignes, le chat est l'exemple de base de la librairie, et le push ne me semble pas compliqué à mettre en place. Au niveau de la compatibilité navigateur, ça fonctionne sur les navigateurs récents, mais nous avons abandonné le support IE9 cette année donc je ne saurais dire pour tout ce qui est antérieur. Pour l'hébergement ta seule contrainte est de pouvoir installer nodejs et faire fonctionner son écosystème (npm surtout). Ça peut remplacer tes appels ajax (script client qui appelle une ressource serveur) car ça fait (grossomodo) la même chose, les 2 peuvent très bien cohabiter pour éviter de porter l'intelligence serveur de php à node. Le fait d'utiliser les 2 apportent par contre de la fragmentation dans les technos. A toi de voir.

    Je n'ai jamais eu l'occasion de tester les autres technologies qui font un travail similaire.

    Edit : Il existe une librairie client socketio écrite en php pour faire communiquer les 2 (ElephantIO).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Pour ma part node,js m'a beaucoup plus.
    Et je me suis même demandé si à l'avenir node.js ne pas ferait pas de l'ombre à PHP. Enfin, on en est pas encore là!
    Concernant mon projet actuel, l'idée deux serveurs distinct m'a vite décourager.

    Juste après, je me suis penché sous Ratchet avec le quel j'ai réussi à utiliser le websocket.
    Vu mes pauvres connaissance en PHP, je ne parvient pas à l'utiliser de concert avec CakePHP pour la gestion des Session.
    Je vais poster sur le forum, histoire de trouver quelqu'un qui puisse m'aider.

    Merci pour ta réponse Psycha,

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    As-tu vu qu'il existe des plugins Ratchet pour CakePhp ? Par exemple ici (je sais pas ce que ça vaut).

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    @ABCIWEB

    Oui je l'avais tester déjà, WyriHaximus Ratchet pour CakePHP.
    J'ai pas à le faire fonctionner et l'idée de plugins en poupée russe je préfère éviter.

    Merci à toi,

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Si tu arrives à quelque chose de convaincant d'une manière ou d'une autre, pense à nous laisser un petit message, ça nous permettra de savoir que cette techno est accessible/valide. Mais bon c'est certain que commencer son initiation en intégrant Ratchet dans un framework n'est certainement pas le plus facile... bon courage

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Bonsoir à tous,
    Alors voila après plusieurs jours de prises de tête, j'ai fait une croix sur Ratchet ainsi que sa version wrapper pour CakePHP.
    Le projet Ratchet ne prévois pas de version compatible avec WAMP 2.0 et trop compliqué à mettre en place dans mon cas.
    J'ai donc abandonné l'idée et opter pour un duo PHP <=> node.js sur un VPS.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Salut,

    Ok merci pour le retour. Effectivement, d'après ce que j'ai lu ici et là cette solution est la plus couramment retenue dans ce cas de figure. Et tu auras certainement plus de doc/ressources avec node.js.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/07/2008, 12h59
  2. question simple a propos de QDialog
    Par elmcherqui dans le forum Qt
    Réponses: 4
    Dernier message: 24/05/2008, 23h13
  3. question de débutant à propos de dotnet
    Par Kapha dans le forum Débuter
    Réponses: 1
    Dernier message: 08/08/2007, 19h53
  4. Question technique a propos de httpd.conf
    Par arkheron dans le forum Apache
    Réponses: 3
    Dernier message: 19/06/2006, 12h42
  5. [.NET] Une question technique a propos du mode asynchrone
    Par nicknolt dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/06/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo