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 en python sur django


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mai 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2022
    Messages : 2
    Par défaut Script en python sur django
    Bonjour,

    J'ai un script python qui permet d'analyser des vidéos; il contient donc 3 pages : sélect ( pour sélectionner la video ) , détect ( pour l'analyser ), et résultat qui ouvre une page avec une page avec un graphique basé sur matplot lib.

    J'aimerai le rendre accessible a quelques personnes supplémentaire en interne seulement (entreprise) via une interface web.

    J'ai commencé avec django , mais mon script étant fait avec tkinter, je sais pas comment le moduler pour django.

    Faut-il que je fasse un bouton qui exécutera la script ? si oui comment faire?
    Ou faut-il que je tout change le script pour le refaire sous django?

    merci d'avance

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 302
    Par défaut
    bonjour

    un app web, django ou flask(+ simple si on débute en python web) est bien différente, donc oui, généralement il n'y a pas grand chose à garder et il est impossible de lancer une application graphique sur le serveur web.

    Si ta partie métier (vidéo) est bien distincte de ton code Tk, alors le travail n'est pas forcément compliqué : La plupart des librairies python peuvent êtres utilisées indépendamment du contexte (console,web,graphique) donc, peut-être la tienne si elle a été pensée dès le début (ou re-pensée/ré-écrite) comme une librairie indépendante

    Et l'intéret de mettre ton code "métier" dans une librairie indépendante, c'est que tes 2 applications peuvent évoluer de pair sans coder 2 fois

  3. #3
    Candidat au Club
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mai 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2022
    Messages : 2
    Par défaut
    Citation Envoyé par papajoker Voir le message
    bonjour

    un app web, django ou flask est bien différente, donc oui, généralement il n'y a pas grand chose à garder et il est impossible de lancer une application graphique sur le serveur web.

    Si ta partie métier (vidéo) est bien distincte de ton code Tk, alors le travail n'est pas forcément compliqué : La plupart des librairies python peuvent êtres utilisées indépendamment du contexte (console,web,graphique) donc, peut-être la tienne si elle a été pensée dès le début (ou re-pensée/ré-écrite) comme une librairie indépendante

    Et l'intéret de mettre ton code "métier" dans une librairie indépendante, c'est que tes 2 applications peuvent évoluer de pair sans coder 2 fois

    D'accord,
    mais je suis un peu perdu donc par quoi il faut que je commence ?
    et qu'est ce qu'un code "métier" ?

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 302
    Par défaut
    ta partie métier ? il n'y a que toi pour le dire c'est l'analyse pure de vidéo (aucune idée du retour) et résultat (retour: simplement ? un graphique)

    au pif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class metier:
       def add_video(fichier_sur disque):
       def get_nombre_de_visages(xxxx) ->int:
       def get_stats():
       def set_convertir(yyy):
       def set_passer_en_noir_et_blanc() ->bool :
       def save_result_as_image(file_to_save_image) -> bool :
       def video_to_apercu_img(video_fichier) -> png_file :
    Il faut juste un code sans aucune dépendance avec django ni Tk mais aussi indépendant des entrées (clavier,...) et sorties écran

    note: ce(s) fichier(s) à inclure dans tes 2 applications peut avoir 10 ou 10 000 lignes de codes, comme il peut contenir zéro ou 20 classes, chaque partie "métier" est très différente

    ---
    Même si on ne fait qu'une application Tk, on devrait toujours faire une partie "métier/travail/traitement" indépendante :
    - code plus clair
    - possible de porter sur autres environnements (Tk -> Qt, Qt -> gtk, console -> Tk, ...)
    - ET ne pas oublier les tests (qui ne sont qu'un autre environnement mais réservé au développeur)
    - un jour passer ce code "métier" dans un autre langage ou en python "compilé"

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    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 049
    Par défaut
    Bonjour,

    Si vous devez moduler Tkinter et Django, il faut déjà se mettre d'accord sur le rôle de chacun... et dans votre cas, c'est assez rapidement défini,


    • Django -> Serveur HTTP
    • Tkinter -> Interface graphique


    On pourrait s'imaginer que vous créeriez une API Rest qui permettrait la récupération des données (chaînes binaires, JSON, etc...) depuis votre IHM (Tkinter).

    Deux, non trois, voir 4 et même peut-être 5 choses à plutôt bien maîtriser,


    1. POO (Programmation Orienté Objets)
    2. Réseau
    3. Django
    4. Tkinter
    5. Base de données ?


    Bref c'est un petit exercice complet

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 302
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    vous créeriez une API Rest
    ici, c'est un cas particulier et aucune idée du besoin
    - application Tk ne fonctionne que dans l'entrerise comme celle avec django ?
    - application web doit récupérer les résultats(traitements) de l'application Tk ? ou inversement ?
    - nous savons pas ou sont les vidéos ... avec le web on fait un upload ? avec Tk, elles sont sur un serveur ou sur poste local ...

    une api web va permettre de synchroniser les 2 applications.
    Oui, utiliser une api web si l'intranet web doit présenter les résultats calculés (sauvegardés sur serveur) par l'application Tk. Dans ce cas, l'app web peut ne faire aucun calcul et juste afficher des graphiques liés aux vidéos ? Et donc ne rien reprendre du code "métier" de l'application Tk. Mais cela ne me semble pas être la demande initiale.

  7. #7
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    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 049
    Par défaut
    Heureusement que j'ai précisé "on pourrait s'imaginer", mais quand on analyse, je vois pas trop de choix tout de même...

    Citation Envoyé par papajoker Voir le message
    application Tk ne fonctionne que dans l'entrerise comme celle avec django ?
    Je ne vois pas trop ce que cela change au fait d'utiliser une API Rest, à moins de vouloir s'embêter avec une API SOAP (ce que je ne conseille vraiment pas).

    Mais dans tous les cas, avec cela on fait le café en local comme sur internet (NGINX, Apache, ...)

    Citation Envoyé par papajoker Voir le message
    application web doit récupérer les résultats(traitements) de l'application Tk ? ou inversement ?
    Euh oui mais dans l'un ou l'autre cas, je vois pas pourquoi je m'interdirai l'API Rest

    Citation Envoyé par papajoker Voir le message
    nous savons pas ou sont les vidéos ... avec le web on fait un upload ? avec Tk, elles sont sur un serveur ou sur poste local ...
    Idem que plus haut, l'API Rest permet tout cela, ainsi que le framework Django pour le upload

    Je ne vois pas trop où ton intervention doit m'amener à comprendre, si tu peux être plus clair ?

    EDIT: Je crois avoir compris ce que veut le PO, qui est sans doute de passer d'un code écrit pour Tkinter a un code écrit avec Django.
    EDIT 2: Si c'est le cas, il vaudra sans doute mieux reprendre l'ensemble du code, il ne doit pas y avoir grand chose pour développer ce genre de travail.

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 302
    Par défaut
    bonjour fred
    Citation Envoyé par fred1599 Voir le message
    Je ne vois pas trop où ton intervention doit m'amener à comprendre, si tu peux être plus clair ?
    les questions n'étaient pas pour toi j'ai juste rebondi sur ton idée et essayer de voir les besoins de "new dev"
    Moi, j'aime les api web !

    oui mais dans l'un ou l'autre cas, je vois pas pourquoi je m'interdirai l'API Rest
    Oui, on peut toujours développer une api rest, reste à savoir si cela vaut le coup et ici le demandeur débute en web donc on risque de compliquer pour un besoin qui n'existe pas (A mon avis, si j'ai compris la demande...)

    l'API Rest permet tout cela, ainsi que le framework Django
    Nous sommes bien d'accord, c'est justement pour cela que je demande. Si le demandeur acquiesce, alors oui, il faut impérativement une api web pour synchoniser les 2 applications

Discussions similaires

  1. Afficher les réponses d'un script python sur un page web
    Par Gregzz dans le forum Réseau/Web
    Réponses: 8
    Dernier message: 06/08/2010, 12h48
  2. Réponses: 0
    Dernier message: 16/10/2009, 08h54
  3. Réponses: 0
    Dernier message: 16/10/2009, 08h54
  4. Lancer rapidement un script Python sur Mac
    Par rambc dans le forum Général Python
    Réponses: 2
    Dernier message: 29/09/2009, 12h04
  5. Script de login Python sur AD
    Par neoraptor dans le forum Général Python
    Réponses: 11
    Dernier message: 19/11/2008, 22h45

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