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 :

Lire les données d'une page web en python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonsoir,

    YÀ plus qu'à déconcaténer et récupérer les données. Simple comme bonjour
    Ça semble être une réponse en XML, que se soit python, bash ou autres langages, avoir un parser XML me semble incontournable... En python c'est lxml ou BeautiFulSoup, en bash c'est 4xpath, xmlstartlet, ...
    Donc pas si simple, faut un minimum de travail, de tests !

    le code me renvoie ce qu'il faut
    C'est du texte brut, à partir de là, l'analyse textuelle reste plus complexe qu'une analyse du format XML.

    Comme je peux pas tester, à vous d'essayer ce code

    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
    import urllib.request
    from lxml import etree
    from urllib.error import URLError, HTTPError
    import base64
     
    url = "http://192.168.1.78/status.xml"
     
    request = urllib.request.Request(url)
     
    # Ajouter les informations d'authentification
    credentials = ('admin:boiler').encode()
    encoded_credentials = base64.b64encode(credentials)
    request.add_header('Authorization', 'Basic ' + encoded_credentials.decode())
     
    try:
        with urllib.request.urlopen(request) as response:
            data = response.read()
     
            # Parser le contenu XML
            root = etree.fromstring(data)
     
            # Exemple d'extraction de données
            for element in root:
                print(f"{element.tag}: {element.text}")
     
    except HTTPError as e:
        print(f"Erreur HTTP : {e.code} {e.reason}")
     
    except URLError as e:
        print(f"Erreur d'URL : {e.reason}")
     
    except etree.XMLSyntaxError as e:
        print(f"Erreur de syntaxe XML : {e}")
    Installation de lxml : ICI

    Quel retour avez-vous ? Est-ce plus lisible ?

  2. #2
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    wouah fred1599, ton script marche à la perfection... Merci !

    J'ai vraiment encore beaucoup de choses à apprendre en Python... Voila ce que ton code donne :

    err0: 0
    err1: 0
    err2: 0
    err3: 0
    err4: 0
    led0: 0
    led1: 0
    led2: 0
    led3: 0
    led4: 0
    led5: 1
    led6: 0
    led7: 0
    btemp: 34
    utemp: 36
    otemp: -1
    ftemp: 26
    pwr: 0
    debug: 32

    C'esst vraiment super merci encore. Me permettras-tu d'abuser de ta science en te demandant comment tu ferais pour ensuite enregistrer ces données dans un fichier quelconque "Données_Chaudiere.txt" ou chaque ligne donnée par ton code est mise en colonne (une colonne pour chaque ligne de la réponse de ton script) avec en dessous la valeur correspondante qui vient se mettre au fur et à mesure que le script est appelé via crontab ?
    J'ai déja écris un bout de script mais vu comme le tien marche, j'ai honte de le montrer...
    T'es pas obligé hein, mais si tu voulais bien me faire profiter encore un peu de ton savoir, ça le ferait carrément !
    Merci encore

    Antoine

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Cool, ça retourne bien ce que je pensais... L'écriture dans un fichier texte ou csv (lignes de plusieurs colonnes) est assez simple en utilisant le module csv.

    Je me suis permis d'ajouter date et heure d'enregistrement dans le fichier pour chaque enregistrement.

    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
    import urllib.request
    from lxml import etree
    from urllib.error import URLError, HTTPError
    import base64
    import csv
    import os
    from datetime import datetime
     
    url = "http://192.168.1.78/status.xml"
    csv_file = "Données_Chaudiere.txt"
     
    request = urllib.request.Request(url)
     
    # Ajouter les informations d'authentification
    credentials = ('admin:boiler').encode()
    encoded_credentials = base64.b64encode(credentials)
    request.add_header('Authorization', 'Basic ' + encoded_credentials.decode())
     
    try:
        with urllib.request.urlopen(request) as response:
            data = response.read()
     
            # Parser le contenu XML
            root = etree.fromstring(data)
     
            # Obtenir la date et l'heure actuelles
            current_date = datetime.now().strftime("%d/%m/%Y")
            current_time = datetime.now().strftime("%H:%M:%S")
     
            # Préparer les données pour le fichier CSV
            data_to_write = {"Date": current_date, "Heure": current_time}
            data_to_write.update({element.tag: element.text for element in root})
     
            # Vérifier si le fichier existe pour écrire l'en-tête ou non
            file_exists = os.path.isfile(csv_file)
     
            with open(csv_file, 'a', newline='', encoding='utf-8') as f:
                writer = csv.DictWriter(f, fieldnames=data_to_write.keys())
     
                # Écrire l'en-tête si le fichier est nouveau
                if not file_exists:
                    writer.writeheader()
     
                # Écrire les données
                writer.writerow(data_to_write)
     
    except HTTPError as e:
        print(f"Erreur HTTP : {e.code} {e.reason}")
     
    except URLError as e:
        print(f"Erreur d'URL : {e.reason}")
     
    except etree.XMLSyntaxError as e:
        print(f"Erreur de syntaxe XML : {e}")
    À tester ! Concernant crontab, évidemment c'est pas un sujet python, mais je suppose que ça ne devrait pas être un problème...

  4. #4
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Super merci Fred, c'est effectivement bien plus élégant que mon code et certainement plus efficace. J'étais parti dans des stringsplit qui m'aurai donnée un fichier texte. Un csv c'est farpait je pourrai plus facilement en faire des graphiques... Je vais le tester de suite et je te dis.
    J'ai une dernière précision à te demander, avec crontab (au moins un truc que je maîtrise ) je crée chaque premier du mois un fichier qui a le nom du mois et de l'année (janvier2024, fevrier2024, etc,etc...).
    Je voudrais que lors de l'enregistrement le script aille enregistrer dans le bon fichier en fonction de la date.
    Tu aurais une solution ?
    Encore une fois pas d'obligation hein...

    Merci
    Antoine

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    date +%B%Y donne février2024 et non Fevrier2024EDIT : Répertoire qui correspond à votre erreur

    File "/home/pi/Domotique/Enregistrement_Temperature_Salon_Chambre_ECS.py", line 58, in Sauvegarde
    fichier_sauvegarde = open(Record_file,"a",newline="", encoding="utf-8")
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Temperature/Fevrier2024/Fevrier2024.txt'


  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bah j'aimerai bien savoir si ça fonctionne, je peux pas tester dans un cas réel,

    Pour le nom de fichier en fonction du mois et de l'année, c'est pas très complexe (mais bon, étant donné que tu avais date et heure dans ton contenu de fichier, je vois pas trop l'intérêt)

    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
    import urllib.request
    from lxml import etree
    from urllib.error import URLError, HTTPError
    import base64
    import csv
    import os
    from datetime import datetime
     
    url = "http://192.168.1.78/status.xml"
     
    request = urllib.request.Request(url)
     
    # Ajouter les informations d'authentification
    credentials = ("admin:boiler").encode()
    encoded_credentials = base64.b64encode(credentials)
    request.add_header("Authorization", "Basic " + encoded_credentials.decode())
     
    try:
        with urllib.request.urlopen(request) as response:
            data = response.read()
     
            # Parser le contenu XML
            root = etree.fromstring(data)
     
            # Obtenir la date et l'heure actuelles
            current_datetime = datetime.now()
            current_date = current_datetime.strftime("%Y-%m-%d")
            current_time = current_datetime.strftime("%H:%M:%S")
     
            # Former le nom du fichier en fonction du mois et de l'année
            csv_file = f"Données_Chaudiere_{current_datetime.strftime('%B_%Y')}.txt"  # par exemple "Données_Chaudiere_Janvier_2024.txt"
     
            # Préparer les données pour le fichier CSV
            data_to_write = {"Date": current_date, "Heure": current_time}
            data_to_write.update({element.tag: element.text for element in root})
     
            # Vérifier si le fichier existe pour écrire l'en-tête ou non
            file_exists = os.path.isfile(csv_file)
     
            with open(csv_file, "a", newline="", encoding="utf-8") as f:
                writer = csv.DictWriter(f, fieldnames=data_to_write.keys())
     
                # Écrire l'en-tête si le fichier est nouveau
                if not file_exists:
                    writer.writeheader()
     
                # Écrire les données
                writer.writerow(data_to_write)
     
    except HTTPError as e:
        print(f"Erreur HTTP : {e.code} {e.reason}")
     
    except URLError as e:
        print(f"Erreur d'URL : {e.reason}")
     
    except etree.XMLSyntaxError as e:
        print(f"Erreur de syntaxe XML : {e}")
    Si je pouvais avoir les deux premières lignes du fichier pour vérifier...

  7. #7
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Voila les deux premières lignes du fichier :

    Date,Heure,err0,err1,err2,err3,err4,led0,led1,led2,led3,led4,led5,led6,led7,btemp,utemp,otemp,ftemp,pwr,debug
    2024-01-28,19:39:38,0,0,0,0,0,1,0,0,0,0,1,0,1,52,34,0,157,10,34


    Le fait que le fichier soit défini comme .txt on peut l'exploiter comme un .csv ??


    Toine

  8. #8
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if not file_exists:
        with open("Record_file", 'a', newline="") as Record_file:
    Toujours pas dans le bon bloc concernant if not file_exists, il doit être à l'intérieur du bloc with open(...)

  9. #9
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    C'est fait et toujours pas de fichier créé.

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 539
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 539
    Par défaut
    ton dossier créé par cron s'écrit bien "Fevrier2024" ? pas "fevrier2024" ou "Février2024" ? linux fait la différence entre minuscule et majuscule; donc si ça ne correspond pas, pour lui, ce n'est le même répertoire.
    Tu pourrais faire la création via python, via os.mkdir comme ça tu seras sûr à 100% d'utiliser la bonne graphie.

  11. #11
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    txt ou csv c'est un fichier texte, la différence c'est que pour du csv on a un texte formaté spécifiquement pour séparer chaque donnée à l'aide d'un séparateur (virgule ou point virgule le plus souvent).

    Comme le fichier n'est pas traité par la suite (pour faire des graphiques, stats, etc.) je ne vois pas l'utilité de le nommer différemment que ceux pour quoi il est créé, c'est à dire lire du texte (avec l'extension txt).

    la sortie à l'air pas trop mal, à toi de voir le format de la date si tu veux modifier sous le format français %d/%m/%Y à la place de %Y-%m-%d

  12. #12
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Merci Fred,

    J'ai juste une ou deux questions supplémentaires, je vois que tu sais partager ton savoir et en tant que scientifique, ça me touche tout particulièrement...

    - Dans le fichier de données il est marqué au début "Date Heure " mais pas la vraie date en question.

    - Je compte bien faire des graphiques ensuite avec ces données donc pourquoi pas coder directement en .csv ?

    - Le fichier que ton script crée est dans le répertoire principal, je voudrais qu'il soit dans le dossier "/home/pi/Donnees_Chaudiere/Janvier2024" puis ensuite en février dans le dossier "/home/pi/Donnees_Chaudiere/Fevrier2024" etc,etc...

    Tu aurais une solution ?

    Merci d'avance
    Antoine

  13. #13
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    je vois que tu sais partager ton savoir et en tant que scientifique
    Il n'y a rien de scientifique dans ce que j'ai pu apporter comme réponse

    Dans le fichier de données il est marqué au début "Date Heure " mais pas la vraie date en question.
    C'est à dire ? As-tu lu ma réponse précédente concernant le format de la date ?

    Je compte bien faire des graphiques ensuite avec ces données donc pourquoi pas coder directement en .csv ?
    Ça change rien du peux garder en txt tout en utilisant le module csv pour le lire, mais si tu veux modifier de txt à csv c'est comme tu veux, ça ne changera rien pour la suite.

    Le fichier que ton script crée est dans le répertoire principal, je voudrais qu'il soit dans le dossier "/home/pi/Donnees_Chaudiere/Janvier2024"
    C'est là où ça serait peut-être le moment de comprendre mon code et essayer de se mettre un peu à python, voir du côté du module os, et comment créer un répertoire par exemple

  14. #14
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Il n'y a rien de scientifique dans ce que j'ai pu apporter comme réponse
    J'ai dis ça car j'estime que le savoir est une chose qui doit être partagée, étant moi-même physicien j'ai eu la chance de passer de longues années d'études à apprendre un savoir et je suis toujours ravi d'en faire profiter les autres. C'est ce que tu as fait avec moi et je t'en remercie.

  15. #15
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Déjà dit :

    date +%B%Y donne février2024 et non Fevrier2024.

  16. #16
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Oui les gars j'ai bien vérifié et en sortie le code me dite que :

    Record_directory ; /home/pi/Donnees_Temperature/février2024
    Record_file : /home/pi/Donnees_Temperature/février2024/février2024.txt

    Donc pas de souci la dessus. Je ne comprends vraiment pas pourquoi le filchier ne se créé pas, je suis totalement bloqué là...

  17. #17
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Ok, je pense t'avoir donné une bonne base pour bosser la suite... un conseil, si tu veux transformer toutes ces données en version graphique, il faudra une base sur le langage suffisante, ça va se durcir !

    Il existe beaucoup de modules en python pour faire pratiquement tout ce que tu veux, fait tes recherches, des tests, et ne pas hésiter à poser tes questions sur le forum.

    Bonne continuation...

  18. #18
    Membre actif
    Homme Profil pro
    Aidant
    Inscrit en
    Janvier 2024
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Aidant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Janvier 2024
    Messages : 55
    Par défaut
    Salut Fred,

    Alors j'ai étudié ton script et je l'ai modifié pour qu'il crée chaque mois un fichier du nom du mois via la variable base_dir qui me donne en sortie :
    /home/pi/Donnees_Chaudiere/Fevrier2024
    J'ai aussi changé ta ligne : csv_file = base_dir + f"/{current_date}.txt" pour qu'elle me donne en sortie un fichier comme ça :
    /home/pi/Donnees_Chaudiere/Fevrier2024/Fevrier2024.txt

    Mais il y semble qu'il y ai une erreur avec cette ligne car le fichier ne se crée pas et j'obtiens une erreur ;
    Traceback (most recent call last):
    File "/home/pi/Domotique/Lecture_parametres_chaudiere5.py", line 62, in <module>
    with open(csv_file, "a", newline="", encoding="utf-8") as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/Donnees_Chaudiere/Fevrier2024/Fevrier2024.txt'
    C'est surement un problème de syntaxe avec f mais je n'arrive pas à changer cela.
    Est-ce que tu peux m'aider ?

    Merci

    Antoine

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2019, 13h23
  2. Comment enregistrer les images d'une page web ?
    Par Chris33 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 11/07/2006, 22h09
  3. [debutant] lister tout les mots d'une page web!
    Par kriskikout dans le forum Web
    Réponses: 20
    Dernier message: 31/05/2006, 22h47
  4. Site qui vérifie les actualisations d'une page web
    Par LFC dans le forum Autres langages pour le Web
    Réponses: 4
    Dernier message: 01/12/2005, 18h47
  5. Lire le contenu d'une page web grâce à un script PHP
    Par BloodyImp dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2005, 22h29

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