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 :

Structure de mon programme en Python


Sujet :

Python

  1. #1
    Membre habitué
    Homme Profil pro
    Autodidacte
    Inscrit en
    Février 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Février 2016
    Messages : 8
    Par défaut Structure de mon programme en Python
    Bonjour,

    J'ai une idée de programme, que j'ai tout d'abord écrit en HTML, Javascript, AJAX et PHP assez facilement, mais qui doit être lancé dans un navigateur. Les temps de session de la navigation étant limités, je me suis tourné vers Python. J'ai lu les cours sur internet et je continu à apprendre par l'exemple.
    Néanmoins je bloque au niveau de la structure de mon programme: J'affiche une grille, je rempli les cases après des requêtes HTTP vers mon serveur de domotique. Quelques cases ont des boutons qui me permettent de faire quelques actions ( passer la case de On à Off ou envoyer des commandes vers mon serveur domotique).

    Mes questions se posent au niveau du fonctionnement de mon programme. Les requêtes vers mon serveur et la mise à jour de ma grille doivent se faire toutes les 10 minutes par exemple. Si cette fonction est dans le script principal, est-ce que cela ne va pas nuire au fonctionnement de mes appel par les boutons Si oui, je pensais externaliser cette fonction ( requêtes ) mais alors comment lancer ce second script en fond d'écran au démarrage du principal, et qu'à chaque fin de boucle il envoie les valeurs au script principal qui mettrait à jour la grille.

    Si je résume, je démarre un programme qui en démarre un autre. Le programme principal affiche une grille. Le deuxième programme est une boucle infinie qui relève des valeurs toutes les 10 minutes, les envoie au premier. Cet envoie déclenche un "évènement" dans le premier qui alors affiche les valeurs dans la grille.

    Si vous pensez que cet structure est bonne, j'aurais certainement besoin d'aide pour la réalisé. Coté interface graphique, requêtes, actions sur les boutons, je me débrouille avec quelques tutos.

    Tout ceci en "auditeur libre". Je n'en ferais pas mon métier mais depuis la retraite la programmation m'intéresse.

    Cordialement

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 725
    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 725
    Par défaut
    Salut,

    Citation Envoyé par valdoison Voir le message
    mais alors comment lancer ce second script en fond d'écran au démarrage du principal, et qu'à chaque fin de boucle il envoie les valeurs au script principal qui mettrait à jour la grille.
    C'est bien de penser à en faire 2 activités indépendantes. Néanmoins, 2 scripts, c'est 2 programmes qui échangent des données sous forme d'octets/bytes.
    Ce qui est assez limité.

    On préfère utiliser des "threads", une pour l'affichage et une autre pour la récupération des données. Ce qui permet d'échange des données plus élaborées.

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

  3. #3
    Membre habitué
    Homme Profil pro
    Autodidacte
    Inscrit en
    Février 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Février 2016
    Messages : 8
    Par défaut
    OK,
    Je crée 2 fonctions lancées dans 2 threads. La première serait ma boucle infinie qui récupère des valeurs depuis mon serveur domotique et les stockerait dans un fichier json, la seconde, l'affichage, la mise à jour de la grille et les quelques actions sur les BP.
    Comment alors, à la fin d'une boucle de la première fonction, déclencher l'action de mise à jour des valeurs dans la grille. Ma fenêtré d'affichage à bien un .mainloop mais comment déclencher un événement.
    Dans ce cadre, les exécutions des 2 threads sont totalement indépendantes?

    J'avance, merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 725
    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 725
    Par défaut
    Salut,

    Pourquoi les stocker dans un fichier JSON plutôt que dans une liste (sinon pour avoir un historique mais alors autant passer par une base de données)?

    Puis toutes les x secondes, une tache déclencher par le GUI (.after sait faire çà) on vide la liste.

    Et pour avoir une synchronisation de la liste "partagée, on la remplace par queue.Queue.

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

Discussions similaires

  1. Faire communiquer sinatra avec mon programme en python
    Par echo55 dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 08/07/2016, 22h02
  2. Erreur dans mon programme en Python
    Par florichoute dans le forum Général Python
    Réponses: 1
    Dernier message: 28/04/2009, 15h08
  3. Réponses: 3
    Dernier message: 26/04/2008, 09h32
  4. Réponses: 18
    Dernier message: 04/06/2007, 00h55
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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