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 :

Interface chat "IRC Like"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 29
    Par défaut Interface chat "IRC Like"
    Bonjour à tous,

    Je poste ce message dans PHP, car c'est le langage principal de mon projet, et par conséquent le langage dans le quel je cherche une solution possible (Je suis ouvert à d'autre possibilités).

    Voilà la problématique :

    Il est question d’intégrer dans un projet, un chat (multi-canal), possédant quelques fonctions particulières. Ce chat doit être capable de tenir une charge d'au moins 500 utilisateurs sans impacter le reste des performances du server (Apache & co). Il doit gerer des commandes IRC de base tel que /msg /me /join /part /notice (et quelques autres), quelques alias de commandes spéciales, ainsi que des bricoles pas méchante. Le support doit être capable de déplacer les utilisateurs de salon en toute transparence suivant des paramètres transmit par php. (Un peu à la maniere des chat dans les MMORPG type World of warcraft)

    Solutions envisagées :

    Ce que je ne veux pas : Java, Flash et IFrame (si possible).

    En terme de serveur, ce que je connais le mieux est UnrealIRCd. Malheureusement, la mise en place d'un client pour ce genre de serveur peut s'averer fastidieuse voir impossible sans IFrame...

    Ensuite, il y a Jabber, avec eJabberd et une interface web. Là aussi, la plupart des client que j'ai pu voir possède une IFrame, et les quelques librairies permettant de developper un client sont difficile à maitriser.

    PHP+MySQL n'est même pas penssable, ainsi qu'un fichier texte type shoutbox. Il sagit là d'un "vrai chat".

    Autre ?

    Question :

    Connaissez vous d'autre solutions, ou, avez-vous déjà du mettre en place ce genre de structure ? Que faut-il prendre en compte ? Dans quel sens proceder ?

    J'ai vraiment besoin d'avis, de conseil et de feedback car c'est la première fois que je travail sur ce genre de projet.

    D'avance, je vous remercie

  2. #2
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    As tu regarder PHP free chat ? Cependant je ne sais pas quelle charge il peut tenir pour ne pas l'avoir déployé.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    PHP c'est pas fait pour, mais regarde du coté des WebSocket

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 29
    Par défaut
    Bonjour,

    Merci pour ta réponse.

    Cependant, il semblerait que ce soit plus une usine à gaz qu'autre chose. D'après ce que j'ai compri, il utilise des fichiers pour stocker les messages, avec possibilité de MySQL et IRC backend. Je doute la charge supportable sois bien énorme, et une certaine lenteur doit s'installer dans le traitement des évènements.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 29
    Par défaut
    stealth35, je suis ouvert à d'autre solution, comme python ou perl. Mais l'integration dans une page déjà constitué peut être farfelu...
    Si tu as des infos, j'suis preneur

    De plus, les WebSocket ne plus supporté par les navigateurs suite à une faille dans l'API. Sinon la solution semblait être prometteuse !

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par OnaStick Voir le message
    stealth35, je suis ouvert à d'autre solution, comme python ou perl. Mais l'integration dans une page déjà constitué peut être farfelu...
    Si tu as des infos, j'suis preneur
    tu parles uniquement de langages coté serveur, le problème vient du coté client qui est ultra limité en terme de connexion socket.
    peut importe la technologie serveur, ça ne changera rien.


    Pour le WebSocket, c'est pareil il va te falloir un serveur (node.js par exemple)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 29
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    tu parles uniquement de langages coté serveur, le problème vient du coté client qui est ultra limité en terme de connexion socket.
    peut importe la technologie serveur, ça ne changera rien.


    Pour le WebSocket, c'est pareil il va te falloir un serveur (node.js par exemple)
    Ca m'a l'air bien fragile tout ça. M'enfin, comme dit plus haut, vu la polémique autour de cette fonctionnalité, et les navigateurs qui refuse de la supporter du à cette fameuse faille, je prefere m'en passer.

  8. #8
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par OnaStick Voir le message
    Bonjour,

    Merci pour ta réponse.

    Cependant, il semblerait que ce soit plus une usine à gaz qu'autre chose. D'après ce que j'ai compri, il utilise des fichiers pour stocker les messages, avec possibilité de MySQL et IRC backend. Je doute la charge supportable sois bien énorme, et une certaine lenteur doit s'installer dans le traitement des évènements.
    Ok, pas de possibilité d'extension ? en changeant le système de stockage par exemple ? (utiliser à la place de mysql des engines plus rapide comme solr ou berkeleydb...)

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 29
    Par défaut
    Citation Envoyé par Thes32 Voir le message
    Ok, pas de possibilité d'extension ? en changeant le système de stockage par exemple ? (utiliser à la place de mysql des engines plus rapide comme solr ou berkeleydb...)
    Le fait est que la charge va surement augmenter rapidement, donc même avec quelque chose de rapide, si la charge d'utilisateur est multiplié par 2 ou 3, on en reviendrai au même point

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

Discussions similaires

  1. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

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