Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Autres langages > [Python] PyTalk un client Jabber en PyQt4 > Lecture du sujet

[Python] PyTalk un client Jabber en PyQt4

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
Hors ligne Natim # Posté le 23/01/2008 à 10:50:22
En stage chez Simple It
Avatar
Groupe : Membres
Bonjour,

Je viens vous présenter PyTalk, un client Jabber en Python et PyQt4.

Overview


Dans 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 cela


Pour 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


  • S'adapter à l'environnement de l'utilisateur
  • Être multi-plateforme
  • Être OpenSource
  • Permettre la vidéo et audio conférence avec TOUS les clients Jabber existants même ceux qui n'ont pas encore le support Webcam
  • Être intertionnalisé
  • Être complet autant que possible


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 Frameworks


J'ai utilisé :
  • xmpppy : Framework de communication Jabber. (Simple et complet)
  • PyQt4 : Framework de réalisation graphique GUI (Simple et très très complet)
  • PyDNS : Framework utilisé par xmpppy pour faire les résolutions de nom de domaines en Python
  • Enum : Un moyen d'avoir des enums en Python


Version 0.1


Maintenant 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


Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur

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

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Deviante # Posté le 27/01/2008 à 10:48:15
Groupe : Membres
Dès que y a un .exe je test avec plaisir :p , hop je met le sujet en surveillance par mail :D
Hors ligne Natim # Posté le 27/01/2008 à 13:11:55
En stage chez Simple It
Avatar
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 ...

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne 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 :(
Hors ligne Diti # Posté le 27/01/2008 à 21:01:54
Manchot empereur
Avatar
Groupe : Membres
Comment tu vas faire pour permettre la vidéoconférence chez les autres clients qui n'ont pas implémenté la fonction o_O ?

Et sinon j'ai pas bien compris, j'installe quoi ? j'utilise quel SVN ?
 
Hors ligne 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 :-°
Hors ligne Natim # Posté le 27/01/2008 à 21:24:33
En stage chez Simple It
Avatar
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

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne 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.
Hors ligne Natim # Posté le 07/02/2008 à 19:05:32
En stage chez Simple It
Avatar
Groupe : Membres
Pour ma part je ne me suis pas encore lancer dans Jingle et j'utilise mebeam.com pour les conversation Webcam.
C'est totalement configurable et intégrable donc ça me convient.

Pour le P2P comme tu le définis à part le faire en flash avec un server RED5 ou Flash Media Server c'est pas possible.

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne 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 :euh:
Hors ligne Natim # Posté le 10/02/2008 à 18:43:27
En stage chez Simple It
Avatar
Groupe : Membres
Tu as une API bien sur mais pour moi l'intéret est justement de pouvoir le lancer dans le navigateur et donc de se détacher de l'application.

On peut donc faire des visio conférences avec des gens qu'elle que soit l'application utilisée et le fait qu'elle soit compatible vidéo ou pas.

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne 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.
Hors ligne Diti # Posté le 10/02/2008 à 22:46:06
Manchot empereur
Avatar
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.
 
Hors ligne Natim # Posté le 11/02/2008 à 00:22:34
En stage chez Simple It
Avatar
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 ....

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne 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?

Hors ligne Natim # Posté le 12/02/2008 à 11:45:43
En stage chez Simple It
Avatar
Groupe : Membres
Le mieux c'est de le crypter avec une clef connue par le programme et avec un moyen de cryptage decryptable (pas un hash).

Ensuite si tu utilise Qt, tu as la classe QSettings qui s'occupe d'enregistrer les infos dans le Registre sous Windows ou dans des fichiers sous Unix.

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Jorkar # Posté le 14/02/2008 à 22:52:08
Avatar
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!
 
Hors ligne Natim # Posté le 15/02/2008 à 00:50:26
En stage chez Simple It
Avatar
Groupe : Membres
Il te manque xmpppy : http://xmpppy.sf.net/

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Jorkar # Posté le 27/02/2008 à 23:16:07
Avatar
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?
 
Hors ligne Natim # Posté le 28/02/2008 à 01:02:10
En stage chez Simple It
Avatar
Groupe : Membres
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/

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Garuma # Posté le 28/02/2008 à 12:56:39
using Mono.C#;
Avatar
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
 
Hors ligne Diti # Posté le 28/02/2008 à 16:01:33
Manchot empereur
Avatar
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.
 
Hors ligne Jorkar # Posté le 28/02/2008 à 17:02:34
Avatar
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
  1. quentin@jorkar:~/PyTalk$ sudo python setup.py install
  2. [sudo] password for quentin:
  3. Traceback (most recent call last):
  4.   File "setup.py", line 2, in <module>
  5.     import py2exe
  6. ImportError: No module named py2exe

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.
 
Hors ligne Natim # Posté le 28/02/2008 à 18:28:28
En stage chez Simple It
Avatar
Groupe : Membres
Pour PyTalk pas besoin de l'installer.
La fichier setup.py ne sert qu'à faire le .exe et le package Mac.
Normalement ça doit fonctionner avec python pytalk.py
Tu as des messages d'erreurs ?

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Garuma # Posté le 28/02/2008 à 18:52:27
using Mono.C#;
Avatar
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.
 
Hors ligne Diti # Posté le 28/02/2008 à 19:44:53
Manchot empereur
Avatar
Groupe : Membres
Bon, bah encore une fois, je mourrai moins con :D !
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
 
Hors ligne Natim # Posté le 28/02/2008 à 22:05:19
En stage chez Simple It
Avatar
Groupe : Membres
Tout ça pour dire que niveau choix stratégique, je ne prendrais pas Mono, même si ce que tu fais pour le développement de Mono est à mon avis tout à fait louable. Mais c'est trop d'honneur que vous faites à Microsoft que de les ouvrir de force au libre ...

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Jarvis # Posté le 11/03/2008 à 10:23:28
quando paratus est
Avatar
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 :)
 
Hors ligne Natim # Posté le 11/03/2008 à 11:24:24
En stage chez Simple It
Avatar
Groupe : Membres
Code : Console - Afficher / masquer les numéros de ligne
python setup.py install
dans le répertoire de Enum.

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

from utbm import rentree
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne Jarvis # Posté le 11/03/2008 à 17:34:22
quando paratus est
Avatar
Groupe : Membres

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.

Nombre de connectés 117 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.164s (0.1494s)