05-01-2011, 01:18 PM
Je te conseille Ajax + PubNub.
Côté PHP, quand quelqu'un poste un message, tu fais un appel Ajax vers une page post_message.php, qui pourrait ressembler à ça :
Cela va permettre d'envoyer des informations sur le canal "chat".
Et côté Javascript, tu fais :
Et à la place des commentaires, tu crées un fragment de HTML que tu injectes dans ta fenêtre de chat. Et comme ça, dès que quelqu'un postera un message, il sera envoyé en temps réel chez chaque utilisateur connecté à la page du chat.
Sephi-Chan
Côté PHP, quand quelqu'un poste un message, tu fais un appel Ajax vers une page post_message.php, qui pourrait ressembler à ça :
// $current_user contient un objet User (avec un attribut id et name).
// $message contient… un objet Message (avec des attributs id, content et created_at). Tu l'enregistres en base de données si tu veux.
$pubnub = new Pubnub( 'publish_key', 'subscribe_key' );
$pubnub->publish(array(
'channel' => 'chat',
'message' => array('message' => $message, 'author' => $current_user);
));
Cela va permettre d'envoyer des informations sur le canal "chat".
Et côté Javascript, tu fais :
Pubnub.subscribe({ channel: 'my_test_channel' }, function(data){
// Data est un tableau du style :
// {
// message: {
// id: 23,
// content: "Lorem ipsum dolor sit amet."
// },
// author: {
// id: 17,
// name: "Sephi-Chan"
// }
// }
});
Et à la place des commentaires, tu crées un fragment de HTML que tu injectes dans ta fenêtre de chat. Et comme ça, dès que quelqu'un postera un message, il sera envoyé en temps réel chez chaque utilisateur connecté à la page du chat.
Sephi-Chan