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

Python Discussion :

script python pour lecture trames USB communication CAN


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut script python pour lecture trames USB communication CAN
    Bonjour,

    J'ouvre cette discussion car je galère sur la construction d'un script python pour relire des trames CAN depuis un PC windows 10.
    J'ai un module USB raccordé au réseau CAN qui me permet de relire les data via une application dédiée. Cette application ne me convenant pas, je souhaite créer un script python qui puisse me permettre d'autres possibilités.

    Ma contrainte première reste l'identification du port USB utilisé. J'ai fait différents tests avec pyserial, libusb, pyusb, mais a mon grand désespoir, aucun ne me donne de résultats quand au port USB en cours d'utilisation. J'ai l'impression que les ports usb ne sont pas identifiables par l'utilitaire python.

    Est-ce quelqu'un aurait une idée du pourquoi ça ne marche pas ?

    J'ai testé pas mal de scripts notamment avec pyserial et serial.tools.list_ports mais cela me retourne une liste vide...

    En recherchant sur différents forum, j'ai aussi trouvé une remarque associant un problème de driver USB...

    Merci pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Salut,

    Citation Envoyé par erwannoo Voir le message
    Est-ce quelqu'un aurait une idée du pourquoi ça ne marche pas ?
    Est-ce que vous voulez faire est documenté dans les bibliothèques que vous essayez comme devant fonctionner dans votre configuration? Si ce n'est pas le cas, pourquoi espérez vous que ça fonctionne?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Bonjour,

    oui cela est documenté, j'ai essayé tous les exemples présentés dans la documentation et le résultat est vide. Ce que je veux dire par la c'est que je n'ai pas de message d'erreur, j'ai l'impression que le code marche correctement, mais que c'est au niveau de la machine que ça ne détecte pas les ports USB.

    Voila pourquoi je poursuis mes tests mais sur un raspberry, j'aurai certainement plus de chance que cela donne des résultats...

    Merci pour la réponse.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Citation Envoyé par erwannoo Voir le message
    oui cela est documenté, j'ai essayé tous les exemples présentés dans la documentation et le résultat est vide.
    Super! donc vous avez choisi une bibliothèque et du code à montrer...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par erwannoo Voir le message
    J'ai un module USB raccordé au réseau CAN
    Quel module ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Bonjour,

    actuellement je fais des tests avec pyusb.

  7. #7
    Membre expérimenté
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 161
    Par défaut
    Salut ,
    Citation Envoyé par erwannoo Voir le message
    Bonjour,

    actuellement je fais des tests avec pyusb.
    Erwannoo peux-tu être plus précis sur ce que tu utilises sinon on ne pourra pas t'aider :

    1 - Nom et Marque de l'interface USB utilisé ( le matériel connecté par un connecteur USB)
    2 - As-tu installé un driver pour cet interface. Si oui lequel ?
    3 - As-tu un exemple de code en python ou dans un autre langage pour dialoguer avec cet interface fourni par le constructeur de l'interface.

    Nullosse le plus nul des programmeurs

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Bonjour,

    Après quelques tests hier soir, je vous présente mes constats sur un raspberry pi4:

    identification de l'équipement usb :
    $ lsusb
    $ lsusb -vd 093a:2510

    la commande retourne bien la présence d'un équipement de type souris optique.
    Après je lance le code qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import usb.core
    import usb.util
     
    dev = usb.core.find(idVendor=0x093a, idProduct=0x2510)
    if dev is None:
        raise ValueError('Device is not found')
    print(dev)

    et le retour est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Connected COM ports: ['/dev/ttyAMA0']
    sh: 1: pause: not found
    Connected COM ports: /dev/ttyAMA0
    sh: 1: pause: not found
    /dev/ttyAMA0 - ttyAMA0
    sh: 1: pause: not found
    /dev/ttyAMA0: ttyAMA0 [fe201000.serial]
    sh: 1: pause: not found
    Traceback (most recent call last):
      File "usb3.py", line 1, in <module>
        import usb.core
    ImportError: No module named core
    Ce que j'en conclue c'est que l'équipement n'est pas détecté. Ce que je crois aussi comprendre c'est que le module core n'est pas trouvé. Sur ce dernier point je dois encore creuser car j'ai fait les installations demandées (pyusb, libusb), et d'après ce que j'ai compris les librairies USB python ne sont pas copiées dans la bonne version python (faut que je vérifie..).

    Merci pour votre aide.

  9. #9
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 920
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Citation Envoyé par erwannoo Voir le message
    Ce que j'en conclue c'est que l'équipement n'est pas détecté.
    Ce que tu dois en conclure c'est que tu rencontres un problème d'import....

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Salut,

    Citation Envoyé par erwannoo Voir le message
    Ce que j'en conclue c'est que l'équipement n'est pas détecté.
    Le programme ne sort pas avec une exception levée ligne 6 disant 'Device is not found' mais dès la première ligne.
    Effectivement, il ne va pas jusqu'à chercher l'équipement... et si on cherche pas, on ne trouve pas.

    Citation Envoyé par erwannoo Voir le message
    Ce que je crois aussi comprendre c'est que le module core n'est pas trouvé. Sur ce dernier point je dois encore creuser car j'ai fait les installations demandées (pyusb, libusb)
    C'est ce que dit le message d'erreur... mais comme le fichier s'appelle "usb3.py" et que le message trouve un usb.py et pas le module core "dedans", vérifiez quand même qu'il n'y a pas de fichier nommé usb.py dans le répertoire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Bonjour,

    TRES, TRES, TRES BONNE remarque !!

    Effectivement après suppression de mon fichier usb.py, le script trouve bien le Device recherché !!.
    Par ailleurs si je fais un autre test avec un mauvaise adresse, alors, en toute normalité cela me retourne une erreur.

    Je vais pouvoir continuer...

    Merci.

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Bonjour,

    Je reviens vers vous car j'ai besoin de comprendre quelle adresse doit être utilisée pour lire des données de cette interface USB.

    en effet avec le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import usb.core
    import usb.util
     
    dev = usb.core.find(idVendor=0x08d8, idProduct=0x0002)
     
    while True:
        ret = dev.read(0x81, 0x40 )
        print(ret)
    j'espère lire les données provenant de l'adresse 0x81 (censé être le bendpointaddress), cependant je n'arrive pas a trouver l'adresse endpoint de cette interface usb :

    Nom : Capture99.PNG
Affichages : 1458
Taille : 44,2 Ko

    Est-ce normal ??

    Merci pour votre aide.

  13. #13
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 211
    Par défaut
    hello,
    Bon courage si tu veux utiliser ton interface sans driver!
    Pour linux :
    SocketCAN Driver for Linux
    Vendor-independent Linux API.
    Click to read more...
    With the free SocketCAN driver, HMS provides a vendor-independent API for the latest Ixxat CAN interfaces "CAN IBxxx/PCI/PCIe/XMC/PMC/PCIe104" and "USB-to-CAN V2/FD". The driver supports all CAN/CAN-FD channels on the interfaces as well as several, even different, IXXAT CAN/CAN-FD interfaces simultaneous.


    Supported operating systems


    Linux (Kernel 2.6.x, 3.x.x, 4.x.x)

    Ami calmant, J.P

  14. #14
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Citation Envoyé par erwannoo Voir le message
    Je reviens vers vous car j'ai besoin de comprendre quelle adresse doit être utilisée pour lire des données de cette interface USB.
    Il faut vous palucher la documentation de pyusb pour voir ce qu'on peut faire avec et comment. C'est un boulot de tests et erreurs qu'on ne peut faire qu'avec une configuration semblable à la votre.

    Pas sûr que vous puissiez aller plus loin: vous avez une probablement une interface documentée pour vous connecter à un pilote qui... mais sans la documentation de l'interface entre pilote et boîtier USB, vous allez être vite coincé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Merci pour les différents conseils apportés.

    J'ai trouvé dans les fichiers IXXAT un script python qui est censé fonctionner avec le module USB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    import os
    import sys
    import time
    import signal
    # application specific imports
    import simply_py as simply
    from simply_py import Message
     
    def format_status(sts):
        flags = ["---"] * 6
        if sts & 0x02:   #CAN_STATUS_RESET
            flags[4] = "RST"
        if sts & 0x04:   #CAN_STATUS_BUSOFF
            flags[3] = "BOF"
        if sts & 0x08:   #CAN_STATUS_ERRORSTATUS
            flags[2] = "ERR"                
        if sts & 0x10:   #CAN_STATUS_RXOVERRUN
            flags[1] = "RxO"                
        if sts & 0x20:   #CAN_STATUS_TXOVERRUN
            flags[1] = "TxO"     
        if sts & 0x40:   #CAN_STATUS_PENDING
            flags[0] = "PDG"
        return " ".join(flags)
     
    def error():
        err = simply.get_last_error()
        print("Error:", simply.get_error_string(err))
        simply.close()
        sys.exit(-1)
     
    def signal_handler(signal, frame):
        print('You pressed Ctrl+C!')
        simply.close()
        sys.exit(0)
     
    def receive_messages():
        res, msg = simply.receive() 
        if res == 1:
            print(msg)
            return True
        elif res == -1:
            error()
        return False
     
    def send_message(msg):
        simply.send(msg)
        msg.ident = (msg.ident + 1) % 0x3FF
     
    def main(ser_port):
        print("\n#### simplyCAN Demo 1.0 (c) 2018-2019 HMS ####\n")
     
        # abort with Ctrl+C
        signal.signal(signal.SIGINT, signal_handler)
     
        if not simply.open(ser_port): error()
     
        id = simply.identify()
        if not id: error()
     
        print("Firmware version:", id.fw_version)
        print("Hardware version:", id.hw_version)
        print("Product version: ", id.product_version)
        print("Product string:  ", id.product_string)
        print("Serial number:   ", id.serial_number)
     
        res = simply.stop_can()  # to be on the safer side
        res &= simply.initialize_can(250)
        res &= simply.start_can()
        if not res: error()
     
        lastSent = 0
        TxMsg = Message(0x100, [1,2,3,4,5,6,7,8])
        print("Run application...")
        while True:
            if time.time() - lastSent > 1.0:  # one message every second
                lastSent = time.time()
                send_message(TxMsg)
                print("CAN Status:", format_status(simply.can_status()[0]))
            if not receive_messages():
                time.sleep(0.01)
     
    #main(simply.retrieve_serial_port())
    main(b"/dev/ttyACM0")    # for Linux
    #main(b"COM5")         # for Windows
    par contre lorsque je l'execute ça me dit que ça ne fonctionne pas : " unable to open the serial port ". Au dela du message d'erreur je crois que c'est parceque le code essaie de se connecter sur l'adresse ttyACM0, mais lorque j'execute la commande lsusb le module usb est en 08d8:0002 ..
    Comment dois-je formaliser cette adresse USB dans la ligne : main(b"/dev/ttyACM0") ? ==> main(b"08d8:0002") ??

    Merci pour votre aide.

  16. #16
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Salut,

    Citation Envoyé par erwannoo Voir le message
    J'ai trouvé dans les fichiers IXXAT un script python qui est censé fonctionner avec le module USB
    IXXAT est la marque commerciale. Votre matériel a été livré avec une documentation et un support... utilisez les: moi, je n'ai pas ces informations: bon courage.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  17. #17
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 128
    Par défaut
    Merci pour vos conseils,

    Je progresse petit à petit, il s'avère que j'ai maintenant un script de demo de IXXAT, avec les drivers qui doivent bien aller et module python.
    Je suis repassé sous windows, car je suis certain que l'outil CAN fonctionne, mais lorsque je lance le script python, j'ai le message d'erreur suivant : ('Error : ', u'Unable to open the serial port')

    Comme les ports sous windows ne sont pas présents, j'ai donc entrepris la création de ce port com pour l'équipement IXXAT. Ce que je pense avoir réussi, sauf que c'est indiqué que ce périphérique ne peut pas démarrer ... pourquoi ??

    Nom : Captureoo.PNG
Affichages : 1412
Taille : 9,3 Ko

    BRef, pour poursuivre dans la démarche, je configure le script python de manière à utiliser le port nouvellement créé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    main(b"COM7")         # for Windows
    Mais lorsque je lance le script cela me retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ('Error : ', u'Unable to open the serial port')
    Est-ce que cela est lié au fait que le périphérique ne peut pas démarrer ?

    Merci pour votre aide.

  18. #18
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 211
    Par défaut
    hello,
    comment as-tu installé le port ? par le driver ?
    Il y a un point d'exclamation dans un triangle jaune sur ton port ce qui veut dire qu'il y a un problème sur le port.
    Ami calmant, J.P

  19. #19
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Citation Envoyé par erwannoo Voir le message
    Ce que je pense avoir réussi, sauf que c'est indiqué que ce périphérique ne peut pas démarrer ... pourquoi ??
    Ouvrez la documentation du constructeur et suivez les étapes indiquées... sinon contacter leur support technique ou trouvez un forum d'utilisateurs de ces cartes.

    Dans un forum de programmeurs Python, on peut vous aider à devenir un meilleur développeur mais ce n'est pas ici que vous allez trouver les meilleures compétences pour la configuration de cartes vendues par IXXAT.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  20. #20
    Membre averti
    Homme Profil pro
    ingénieur essai
    Inscrit en
    Juin 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : ingénieur essai
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 35
    Par défaut
    Bonjour,

    Si tu utilises la suite logiciel fournie par IXXAT, est-ce que ton simplycan est reconnu et fonctionne? Si oui, c'est que les drivers sont installés. Sinon, as-tu les droits admin pour les installer?

    Si tu n'as pas installé les applications de Ixxat (ou que tu as tout désinstallé), installe les, les drivers seront installés en même temps.

    https://www.ixxat.com/technical-supp...river-software


    Guillaume.

Discussions similaires

  1. Script Python pour ArcMap
    Par papyrus2 dans le forum Général Python
    Réponses: 4
    Dernier message: 26/02/2010, 11h01
  2. Script vbs pour lecture base de registre
    Par bilal78 dans le forum VBScript
    Réponses: 1
    Dernier message: 01/07/2009, 19h32
  3. Réponses: 1
    Dernier message: 02/04/2009, 16h10
  4. Réponses: 1
    Dernier message: 02/04/2009, 16h10
  5. [Cherche tuto/cours]Script Python pour Unix
    Par elflamby dans le forum Général Python
    Réponses: 2
    Dernier message: 05/09/2007, 14h38

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