TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : 1 2 Suivante | |
| Auteur | Message |
|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |
| Page : 1 2 Suivante | |
Natim
|
# Posté le 23/01/2008 à 10:50:22 |
|
Apprendre à coder c'est coder Groupe : Membres |
Bonjour,
Je viens vous présenter PyTalk, un client Jabber en Python et PyQt4. OverviewDans le cadre de mes études, j'avais à choisir un projet est à le mener de bout en bout (du début à la fin) Certains on choisi de faire des sites web, mais j'avais déjà une longue expérience dans ce domaine grâce entre autre au site du zéro et à ses cours sur le sujet. J'ai donc décidé d'innover un peu et de dépasser les limites de ce que je savais faire. Dans le même temps, une entreprise m'a demandé de trouver une solution à ses problèmes de visioconférence derrière un firewall. Il faut savoir que la visioconférence demandant un fort débit (envoyer 15 images de 10ko par secondes ça fait déjà du 150kb/s en upload et en download * nb de client) donc pour ne pas avoir de problème d'engorgement, on utilise le P2P. Cependant, le P2P derrière un Firewall ou une Passerelle, c'est la galère. -> Mon rapport sur le sujet en Anglais Je me suis donc penché sur la question, et la meilleure solution c'est de suivre les innovations dans ce domaine. Une seule direction : Jabber. Jabber est un protocole de messagerie instantanée qui a le mérite d'être OpenSource, d'être en streaming de XML et d'être extensible à l'infini grâce à cela. Google ayant basé son client GTalk dessus a travaillé pour mettre en place un système d'audio conférence. La XMPP Foundation travaille actuellement à la standardisation de ce qui s'est appelé Jingle (Communication P2P avec Jabber : Audio, Video, Transfert de fichier, Partage d'écran ...) La solution qui sera très bientôt proposé au programmeur a déjà été adopté par AOL pour son client AIM, Microsoft qui compte bien utiliser Jabber dans sa prochaine version de Windows Live Messenger. PyTalk dans tout celaPour suivre le mouvement et le comprendre rien de mieux que de travailler sur un client Jabber. Un client Jabber c'est l'ouverture sur tous les protocoles de messagerie. Un client Jabber ne dialogue qu'avec son serveur qui lui s'occupe de tout (Discussion avec les autres serveurs (MSN, Jabber.org, talk.google.com, jabber.nuxo.net et tous les serveurs jabber) Les buts de PyTalk
Seulement, il faut bien commencer. Au départ, j'avais choisi Java, car ça plaisait bien à mon tuteur de projet et puis faire une application en Qt Jambi ça me plaisait bien. Mais sous Mac Qt Jambi c'est un calvaire alors j'ai décidé de programmer le tout en Python avec PyQt4. Les FrameworksJ'ai utilisé :
Version 0.1Maintenant après 4 jours de travail effréné (c'est ça d'être un Geek expatrié), je peux vous présenter une première version utilisable. Elle est mise à jour en continue utilisaient le SVN pour la tester : Code : Console - Afficher / masquer les numéros de ligne $ svn checkout https://svn.tchoy.net/svn/jTalk/trunk/pyTalk/ PyTalk
Pour les frameworks, vous en avez une version de chaque ici (hormis Qt4 et PyQt4 trop gros) : Code : Console - Afficher / masquer les numéros de ligne $ svn checkout https://svn.tchoy.net/svn/jTalk/trunk/deps/ dependances_PyTalk
Bien évidement, les Linuxiens seront bien avantagé pour tester l'application car en deux coups de svn et un coup de package manager, ils pourront tester en faisant : Code : Console - Afficher / masquer les numéros de ligne $ cd PyTalk
$ python pytalk.py
Pour les autres, je viens de faire le Bundle Mac et le Exe Windows que vous pouvez trouver ici : http://pytalk.trunat.fr/downloads/ Quelques screenshots ![]() J'ai besoin de votre aide pour tester et me faire tous les rapports de bugs que vous voudrez. Ainsi que les modules Jabber que vous utilisez le plus. Je vous ferez un Roadmap très bientôt.
Édité
le 28/01/2008 à 12:47:04
par Natim
|
Deviante
|
# Posté le 27/01/2008 à 10:48:15 |
|
Groupe : Membres |
Dès que y a un .exe je test avec plaisir
, hop je met le sujet en surveillance par mail
|
Natim
|
# Posté le 27/01/2008 à 13:11:55 |
|
Apprendre à coder c'est coder Groupe : Membres |
Je t'ai fais un .exe du coup
![]() Il me reste un peu de travail pour avoir une version complète, mais elle est déjà utilisable. Sous Windows, impossible de se connecter à mon compte Google Talk sans aucune raison ![]() http://download.trunat.fr/PyTalk/PyTalk_0.1_win32_beta1.zip Il suffit de décompresser le Zip et de lancer pytalk.exe J'en ai aussi profiter pour ouvrir le site officiel de PyTalk : http://pytalk.trunat.fr/ Pour Mac OS X je suis en train de bosser sur le Bundle, mais je rame un peu beaucoup ... |
Deviante
|
# Posté le 27/01/2008 à 19:46:34 |
|
Groupe : Membres |
Merci, effectivement je ne peux pas me connecter non plus avec le compte Jabber que j'ai crée
|
Diti
|
# Posté le 27/01/2008 à 21:01:54 |
Manchot empereur![]() Groupe : Membres |
Comment tu vas faire pour permettre la vidéoconférence chez les autres clients qui n'ont pas implémenté la fonction
?Et sinon j'ai pas bien compris, j'installe quoi ? j'utilise quel SVN ? |
Deviante
|
# Posté le 27/01/2008 à 21:03:48 |
|
Groupe : Membres |
J'ai réussi à avoir les fichiers avec ce svn :
https://svn.tchoy.net/svn/jTalk/trunk/pyTalk Mais bon je ne peux rien lancer étant sous windows je peux mettre pyqt mais le reste
|
Natim
|
# Posté le 27/01/2008 à 21:24:33 |
|
Apprendre à coder c'est coder Groupe : Membres |
Sous Windows mieux vaut utiliser l'exécutable que j'ai fais.
J'en referais un a chaque version cruciale. Sinon, c'est aussi possible. Il faut installer Python, PyQt4, Qt4, Enum, xmpppy, PyDNS. Vous trouverez un version des moins courants ici : https://svn.tchoy.net/svn/jTalk/trunk/deps/ Pour le svn voici les commandes : Code : Console - Afficher / masquer les numéros de ligne svn checkout https://svn.tchoy.net/svn/jTalk/trunk/pyTalk/ PyTalk
Pour les dépendances : Code : Console - Afficher / masquer les numéros de ligne svn checkout https://svn.tchoy.net/svn/jTalk/trunk/deps/ PyTalk_dependances
Après pour installer les dépendances c'est Code : Console - Afficher / masquer les numéros de ligne python setup.py install
Pour installer PyQt4 et Qt4, il vaut mieux utiliser son gestionnaire de packet sur sa distrib. Pour lancer le programme : Code : Console - Afficher / masquer les numéros de ligne python pytalk.py
La connexion Jabber peut prendre du temps. Pour être sur que ça se connecte pas sur ton serveur Jabber, il faut que tu es la réponse Connection Error (une jolie boite de dialogue). Pour la visioconférence, il faut tester ![]() EDIT : J'ai trouvé le problème avec Windows, c'est la recherche avec PyDNS qui n'est pas parfaite et qui est lente. En utilisant DNSPython c'est non seulement instantanée mais ça fonctionne sous Windows. Je me suis rendu compte que les champs server et port n'était en fait pas pris en compte. Donc il se basait uniquement sur la recherche SRV oO qui ne semble pas fonctionner sous Windows.Maintenant, si vous remplissait les champs server et port ça doit fonctionner. J'ai aussi mis une réponse par défaut pour gmail.com sur talk.google.com avec le port 5222. Vous pouvez maintenant tester la nouvelle version corrigée pour Mac et PC : http://pytalk.trunat.fr/downloads/ Merci pour vos retours
Édité
le 28/01/2008 à 12:45:19
par Natim
|
Greg86
|
# Posté le 07/02/2008 à 18:31:10 |
|
Groupe : Membres |
Bonjour Bonsoir,
Je vais commencer mon travail de fin d'étude la semaine prochaine dans plus ou moins le même domaine que toi. En fait il s'agira pour moi de créer un petit logiciel couplé à un site de rencontre (www.nice-people.be) qui permettra aux membres de chatter entre eux. Il y aura donc un "messenger" sur PC et il devrait y avoir aussi un chat intégré au site. Sachant que les utilisateurs doivent pouvoir discuter entre eux peu importe d'où il se connecte (app client ou chat on-line). La personne responsable m'a demandé de pouvoir utiliser la webcam. Puis-je te demander où tu en es de ce coté étant donné que tu as quelques mois d'avance. Utilises-tu Jingle? Sinon qu'utilises-tu? La communication entre une app cliente et un app web avec webcam en P2P te semble-t-elle possible, sachant que j'utiliserai très probablement C#. Merci d'avance. Bonne soirée. |
Natim
|
# Posté le 07/02/2008 à 19:05:32 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Greg86
|
# Posté le 10/02/2008 à 12:07:07 |
|
Groupe : Membres |
Bonjour,
MeBeam offre une API que l'on peut utiliser dans sa propre applic? Tout ce que j'ai trouvé c'est leur chat on-line et la version flash téléchargeable
|
Natim
|
# Posté le 10/02/2008 à 18:43:27 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Greg86
|
# Posté le 10/02/2008 à 20:56:21 |
|
Groupe : Membres |
Ah oui ok d'accord... Tu rediriges sur MeBeam, tu ne gère pas la webcam en elle-même dans ton applic...
Tu ne connais pas par hasard d'autres API que Jingle qui implémente la webcam? J'ai lu que Jingle n'implémentait que l'audio et le transfert de fichier, les articles datent un peu, mais je n'ai rien trouvé actuellement qui dit que Jingle a avancé et que la webcam est gérée J'ai découvert SIP aujourd'hui, je cherche un peu de ce coté... Mais en C# y a pas encore grand chose... Bonne soirée. |
Diti
|
# Posté le 10/02/2008 à 22:46:06 |
Manchot empereur![]() Groupe : Membres |
En même temps, tu vas pas pouvoir faire grand chose de portable en C#. Avec Mono tu ne bénéficie pas de toute la puissance de .NET, et il faut oublier les utilisateurs Mac me semble-t-il.
|
Natim
|
# Posté le 11/02/2008 à 00:22:34 |
|
Apprendre à coder c'est coder Groupe : Membres |
Oui je ne saurais que te déconseiller le C# et toute cette m***e de .Net.
Mais ce n'est pas mon rôle ici ... Donc pour en revenir à nos moutons, je dirais juste que la meilleure solution me semble d'utiliser Jingle. Le RTP en Audio fonctionne exactement comme pour la Vidéo. Donc avec Jingle tu pourras t'en sortir. SIP me semble aussi une excellente idée et bonne solution d'autant plus qu'à l'avenir il devrait être géré matériellement. Après comme tu bosse dans du .net et que tu t'en fous donc de la portabilité rien ne t'empêche de te faire ton propre protocole de transmission P2P .... |
Greg86
|
# Posté le 11/02/2008 à 21:51:02 |
|
Groupe : Membres |
Bonsoir,
une autre petite question... Comment peut-on mémoriser les identifiants de l'utilisateur de manière sécurisée pour une connexion automatique? |
Natim
|
# Posté le 12/02/2008 à 11:45:43 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Jorkar
|
# Posté le 14/02/2008 à 22:52:08 |
![]() Groupe : Membres |
Je suis sous Ubuntu 7.10.
J'ai installé DNSPython, PyQt4, SIP, Qt4 avec le gestionnaire de paquets. Le reste avec svn. Voilà mon erreur: Citation : terminal quentin@jorkar:~/PyTalk$ python pytalk.py Traceback (most recent call last): File "pytalk.py", line 10, in <module> from ConnectorThread import ConnectorThread File "/home/quentin/PyTalk/ConnectorThread.py", line 2, in <module> import xmpp ImportError: No module named xmpp Que faire? Je suis avec attention le développement de ton projet depuis longtemps. Bravo! car je pense que la gestion de l'audio/vidéo est vraiment LE truc qui manque dans les clients Jabber! Pourquoi j'utilise Jabber, la messagerie instantanée ouverte? Pourquoi notre société actuelle va droit dans le mur à court terme? |
Natim
|
# Posté le 15/02/2008 à 00:50:26 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Jorkar
|
# Posté le 27/02/2008 à 23:16:07 |
![]() Groupe : Membres |
Merci de ta réponse.
Déjà, je comprends pas bien comment ça se passe avec le svn et les dépendances: si j'éxécute les commandes que tu as données plus haut dans mon home: Code : Bash - Afficher / masquer les numéros de ligne
Déjà je vais avoir 2 dossiers, Pytalk/ et Pytalk_dependances/ dans mon home. Donc comment va faire pytalk pour appeler les dépendances? Faut-il que je copie tous les fichiers dans un seul et même dossier et que j'éxécute setup.py et pytalk.py ensuite? Pourquoi j'utilise Jabber, la messagerie instantanée ouverte? Pourquoi notre société actuelle va droit dans le mur à court terme? |
Natim
|
# Posté le 28/02/2008 à 01:02:10 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Garuma
|
# Posté le 28/02/2008 à 12:56:39 |
using Mono.C#;![]() Groupe : Membres |
Citation : Natim
Oui je ne saurais que te déconseiller le C# et toute cette m***e de .Net. Mais ce n'est pas mon rôle ici ... On reste poli, merci. Citation : Diti En même temps, tu vas pas pouvoir faire grand chose de portable en C#. Avec Mono tu ne bénéficie pas de toute la puissance de .NET, et il faut oublier les utilisateurs Mac me semble-t-il. 1) Cites ce qui te fais dire ça ("blabla puissance .NET"). 2) Mac est supporté (les deux première lignes de la page d'accueil : "Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix."). Je connais au moins deux-trois personnes qui l'utilise à temps plein sur cette plateforme |
Diti
|
# Posté le 28/02/2008 à 16:01:33 |
Manchot empereur![]() Groupe : Membres |
Citation : Garuma
Citation : Diti En même temps, tu vas pas pouvoir faire grand chose de portable en C#. Avec Mono tu ne bénéficie pas de toute la puissance de .NET, et il faut oublier les utilisateurs Mac me semble-t-il. 1) Cites ce qui te fais dire ça ("blabla puissance .NET"). J'ai arrêté Mono parce que ton tuto était incomplet. Alors, pour pouvoir dire ça, je constate. J'ai récemment aperçu un éditeur de texte codé en .NET (Notepad.NET, tout connement). Il fallait le framework .NET version 3.0 au minimu pour le faire tourner. Tout comme les programmes en Qt qui disposent de spécificités propres (l'exemple que je vais prendre est les menus, que tu prennes TeXMaker, Mumble ou d'autres programmes Qt, l'interface est la même), les programmes .NET 3.0 peuvent disposer d'une interface ressemblant de très près à celle de Office 2007. Est-ce que Mono permet de faire ceci ? Enfin, je vais peut-être terminer par une connerie : Mono essaie d'implémenter .NET en libre, il me semble. Cela signifierait-il qu'il est « moins avancé », à la manière d'une documentation officielle et exhaustive contre cette même documentation reprise par un amateur, sans doute non exhaustive ? Merci de tes réponses. |
Jorkar
|
# Posté le 28/02/2008 à 17:02:34 |
![]() Groupe : Membres |
Citation : Natim
Ah non pas du tout oO Il faut installer les dépendances. python setup.py install Pour XMPPPy il faut copier le dossier xmpp dans /usr/lib/python/site-packages/ Donc j'ai fait ça dans chaque dossier des dépendances, je crois que ça a fonctionné. Mais si je fais ça dans le dossier Pytalk/, j'ai cette erreur: Code : Autre - Afficher / masquer les numéros de ligne
Cela dit, si je lance Pytalk avec "python pytalk.py", il se lance, mais je n'arrive pas à me connecter que ce soit avec mon compte google ou fritalk. Pourquoi j'utilise Jabber, la messagerie instantanée ouverte? Pourquoi notre société actuelle va droit dans le mur à court terme? |
Natim
|
# Posté le 28/02/2008 à 18:28:28 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Garuma
|
# Posté le 28/02/2008 à 18:52:27 |
using Mono.C#;![]() Groupe : Membres |
Citation : Diti
Citation : Garuma Citation : Diti En même temps, tu vas pas pouvoir faire grand chose de portable en C#. Avec Mono tu ne bénéficie pas de toute la puissance de .NET, et il faut oublier les utilisateurs Mac me semble-t-il. 1) Cites ce qui te fais dire ça ("blabla puissance .NET"). J'ai arrêté Mono parce que ton tuto était incomplet. Alors, pour pouvoir dire ça, je constate. J'ai récemment aperçu un éditeur de texte codé en .NET (Notepad.NET, tout connement). Il fallait le framework .NET version 3.0 au minimu pour le faire tourner. Tout comme les programmes en Qt qui disposent de spécificités propres (l'exemple que je vais prendre est les menus, que tu prennes TeXMaker, Mumble ou d'autres programmes Qt, l'interface est la même), les programmes .NET 3.0 peuvent disposer d'une interface ressemblant de très près à celle de Office 2007. Est-ce que Mono permet de faire ceci ? Enfin, je vais peut-être terminer par une connerie : Mono essaie d'implémenter .NET en libre, il me semble. Cela signifierait-il qu'il est « moins avancé », à la manière d'une documentation officielle et exhaustive contre cette même documentation reprise par un amateur, sans doute non exhaustive ? Merci de tes réponses. Le menu de Office est un des nouveaux contrôle de Winform 3, dans le dernier Google Summer of Code un des étudiants à codé un widget similaire pour GTK# (http://wordpress.com/tag/soc-2007/). Mono et .NET sont l'implémentation d'une *même* spec de l'ECMA, après chacun ses différences (Microsoft a ses extensions proprios et Mono a ses propres composants). Vouloir implémenter tout .NET (i.e. non ECMA) est, selon moi, une erreur. |
Diti
|
# Posté le 28/02/2008 à 19:44:53 |
Manchot empereur![]() Groupe : Membres |
Bon, bah encore une fois, je mourrai moins con
!Je ne savais pas que .NET et Mono venaient d'une spécification (quoique, j'aurais pu le deviner, tout comme HTLM est dérivé de SGML). Merci pour la précision sur Winforms.
Édité
le 28/02/2008 à 19:45:50
par Diti
|
Natim
|
# Posté le 28/02/2008 à 22:05:19 |
|
Apprendre à coder c'est coder Groupe : Membres |
|
Jarvis
|
# Posté le 11/03/2008 à 10:23:28 |
quando paratus est![]() Groupe : Membres |
Salut j'essaie de lancer Pytalk :
Code : Console - Afficher / masquer les numéros de ligne $ python pytalk.py
Traceback (most recent call last):
File "pytalk.py", line 10, in ?
from ConnectorThread import ConnectorThread
File "/home/jarvis/DEV/PyTalk/ConnectorThread.py", line 8, in ?
from jabber import STATUS
File "/home/jarvis/DEV/PyTalk/jabber.py", line 3, in ?
from enum import Enum
ImportError: No module named enum
si je comprends bien c'est que je n'ai pas Enum... Donc j'ai téléchargé enum-0.4.3.tar.gz sur http://pypi.python.org/pypi/enum/ , je le décompresse et après je fais quoi? Merci
|
Natim
|
# Posté le 11/03/2008 à 11:24:24 |
|
Apprendre à coder c'est coder Groupe : Membres |
Code : Console - Afficher / masquer les numéros de ligne
python setup.py install
J'en profite pour vous donner le PDF de ma Keynote de ce matin sur PyTalk.
Édité
le 11/03/2008 à 11:30:08
par Natim
|
Jarvis
|
# Posté le 11/03/2008 à 17:34:22 |
quando paratus est![]() Groupe : Membres |
Ok merci ça marche.
|
Retour au forum "Autres langages" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
80 Zéros connectés |
9 requêtes |
0.045s (0.0188s)
