spycollege
Messages postés50Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention 8 mars 2007
-
24 févr. 2007 à 00:01
cs_phm
Messages postés49Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention23 avril 2009
-
11 juil. 2007 à 09:55
Salut à tous,
(parenthèse: lorsque j essaie de mettre une apostrophe sous firefox ça me met le champ de recherche, vous aussi ? lol, je me passerai donc des apostrophes)
Donc, je cherchais un peu comment utiliser msn (wlm..) autrement que par le client et les sites alternatifs tels que ebuddy; j ai trouvé une class ici : http://flumpcakes.co.uk/php/msn-messenger, mais j'ai (tiens les apostrophes remarchent) une erreur quand j'essaie de la faire fonctionner: je me demande si le protocole msn9 sorti avec la version 6 de msn, n'est pas obsolète? Avec la migration vers Live...
Vala, donc je souhaitais savoir si je dois changer quelque chose au niveau des urls des serveurs (pour ceux qui ont regardé la class; ca serait plausible, genre login.live.com au lieu de login.hotmail.com), ou si je peux abandonner direct, ou si je dois décortiquer le code de ebuddy, ou si y'a une autre source...
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 24 févr. 2007 à 11:16
salut,
n'ai pas regardé ta classe, mais je puis te confirmer que le protocole MSNP9 fonctionne toujours (suis dessus actuellement en C#); tu disposes avec celui-ci des fonctionnalités d'un client MSN version 5.x, pour WLM il te faudra adopter la version 15 du protocole (un peu plus complexe à mettre en oeuvre).
spycollege
Messages postés50Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention 8 mars 2007 28 févr. 2007 à 19:02
ok merçi,
j'ai finalement trouvé, la classe fonctionnne avec easyphp, bon, ça affiche que des lignes et des lignes de 'language msn', genre LST moi@hotmail.fr 11 0 , donc pour arriver à quelque chose qui ressemble à msn, y'a du boulot...
va falloir créér une fonction qui analyse les intructions (USR, LQR, LST...) pour en faire quelque chose...
je vais jeter un oeuil aux autres sources, voir ce qu'elles disent.
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 28 févr. 2007 à 19:38
En gros tu viens toi même de donner la réponse, il s'agit du protocole MSNP (LST est la commande qui te renvoie la liste de tes contacts); si tu fouilles les docs regardes du côté des commandes où tu trouveras les traductions, ce qui t'éclairciras un peu plus.
Tu dois effectivement traiter toutes ces lignes à travers le code pour obtenir quelque chose de fonctionnel, mais la base de l'échange client-serveur est là.
Te conseille également d'essayer d'identifier ton ID de transaction, qui doit être incrémentée lors de chaque échange, et de te préocuper des commandes CHL, auxquelles tu dois répondre par une chaine encryptée md5.
spycollege
Messages postés50Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention 8 mars 2007 7 mars 2007 à 14:13
mon dieu...
j'ai un peu décortiqué, là... donc je constate qu'évidemment envoyer des messages au serveur est vachement simple... en revanche, c'est l'analyse des réponses qu'est un peu plus chaude.
dans un premier tems, je vais essayer d'afficher la liste des contacts. J'ai regardé la source de coucou747 qui n'est hélas plus à jour; je vais tenter de me servir de la fonction explode, mais je me demande si ça va pas beuger dans le cas d'espaces dans les pseudos...
si j'ai ça:
$a="<<< LST youri.lcd@hotmail.fr %20{glande} 11 0"
et que je fais:
$a=explode(" ", $a);
$a=$a[3]
j'aurai
$a=youri.lcd@hotmail.fr
mais c'est fabuleux ! et en plus $a[4] retournera le pseudo: je viens de m'apercevoir que les espaces des pseudos étaient remplacés par des %20 ! plus de souçis du coup, un petit coup de ereg_replace (ou array ?) et le tour est joué...
ouais, pi un array comme l'avait fait coucou747 pour les smilies.
pi dans un second temps, p'tèt, un interpréteur de couleurs messenger Plus! comme sur eBuddy, ahah.
Une fois que tout ça sera fait, il restera un problème au niveau des conversations que j'entamerai aussitôt... à votre avis (et à ton avis, zatt...) quel est le moyen le plus efficace pour rafraîchir la page ?
deux solutions, je pense:
-la page qui s'actualise d'elle-même à intervalles réguliers, grâce aux métas ou à JS. hyper-simple mais un peu naze;
-ajax: un script vérifie sur une autre page l'arrivée de nouveaux messages... dans ce cas, soit il comparerait le texte déjà présent avec le nouveau (mais trop lourd, trop lent) soit, plus intelligent, il comparerait les timestamps du dernier message de la page en cours et de celui de la page appelée par le script. Et en cas de nouveau message :
*il actualiserait la page;
*il mettrait un truc du genre converse.value=converse.value+
...
mais houlàlà, ça veut dire qu'il va falloir quérir uniquement les nouveaux messages... un peu lourd... et puis, pour ce que j'ai mis 8 lignes plus haut, va falloir faire en sorte:
-soit que la page puisse gérer plusieurs conversations en même temps (encore le moins chiant...),
-soit générer une page pour chaque conversation, lourd et ça va ralentir mon pauv' serveur Free.
ce que j'aimerais obtenir au final, c'est un rafraîchissement transparent pour l'utilisateur, sans entendre le vieux "clic" d'internet explorer... finalement, dans ce cas, seul JS reste en lice...
qu'en pensez-vous ?
zatt, tu m'as parlé de deux choses, mais je sais pas trop ce que c'est:
-à quoi sert l'ID de transaction ? je ne vois pas à quoi ça correspond dans les échanges client-serveur... ?
s'agirait-il des
<<< USR 4,
>>> SYN 5
et autres
>>> CHG 6
?
-les commandes CHL:
j'ai cru entrapercevoir un bout de doc là-dessus sur hypotetic.org; ça sert à quoi, concrètement ? Je suppose que si je renvoie pas de réponse au serveur, je me fais virer ? et du coup, est-ce que je dois rajouter quelque chose vu que mon client a l'air de déjà pouvoir répondre ?
ahah pas trop assomé(s) de questions ? En tout cas, merçi d'avance pour les réponses...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 7 mars 2007 à 21:09
alors, après une longue lecture (:p), dans le désordre, en tout aussi long:
effectivement, les espaces sont remplacés par le code html %20, ce qui est valable pour tous les échanges et comme tu explode( ) sur l'espace, tu récupères effectivement chaque champs dans ton tableau $a. La fonction est valable pour toutes les lectures ?
tu px également penser à une fonction (ou une méthode ?) générique pour l'envoi de tes commandes (commande, param), et qui rajouterait automatiquement l'ID (dernier chiffre, en auto incrémentation)
<<< USR 4
>>> SYN 5
>>> CHG 6
je pense que tu as saisi la logique, c'est tout simplement +1 (sinon: déconnecté)
un peu plus compliqué pour les challenges CHL, qui consistent en un test du serveur:
tu dois récupèrer la chaine (1449...), et lui ajouter une info identification client
ensuite tu l'encodes en md5, et tu lui renvoies la chaine hexa avec la commande QRY (356a87...), ou sinon, même punition.
http://msnpiki.msnfanatic.com/index.php/Notification:Challenges#Client_identification_information
pour le rafraichissement de tes pages, il serait effectivement dommage (et très laid) de recharger toute la page, d'autant plus que tu devras alors de préocuper des commandes déjà envoyées (protocole, donc: la loi du serveur=strict)... ou peut être alors une pseudo-frame et qui contiendrait le minima ? je pense qu'ajax est une bonne solution (ou un tout simple innerHTML);
le mieux serait que tu puisses travailler sur l'échange du flux, plutôt que sur un timer (quand même pas très élégant); et effectivement tu conserves le texte déjà reçu dans une var et tu le concatènes avec la dernière chaine reçue.
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 9 mars 2007 à 20:38
qqs petits 'trucs' qui pourraient t'être utiles:
- si tu récupères les lignes de commande du protocole, et les affiches, tu pourras suivre l'échange client/server, ce qui te sera certainement très utile en cas de bug; en même temps ce serait une bonne occasion pour ton implémentation Ajax.
- avec un client msn officiel (et un 2e compte hotmail), tu peux suivre ton profil e tester en temps réel (changement de statut, de message perso ...et par la suite pour les messages) .
Pour les classes php, tu trouveras des tutos un peu partout...
Et si tu veux vraiment bien faire, en même temps que tes classes, réfléchis à la conception (architecture) de ton appli, à la meilleure manière pour la faire évoluer (classes, découpage des couches...)
cs_phm
Messages postés49Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention23 avril 2009 11 juil. 2007 à 09:55
Bonjour,
du fait d'un parefeu très sévère au bureau, je voudrai utiliser un site perso pour y créer un webmessenger à l'aide de msnp.
seulement, je débute en php et je recherche qq exemples pour initier une conversation envoyer et recevoir des messages.
base que j'améliorerai petit à petit (parce qu'au boulot je bosse quand même 95% du temps !)
vous allez me dire que je suis un foutu cossard, mais je ne me sens pas de le faire.
quelqu'un aurait-il qq infos, pistes pour m'aider ?