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 :

Questions d'un peut-être futur newbie


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Questions d'un peut-être futur newbie
    Bonjour,

    suite à mes premiers pas avec Python4Delphi, j'aimerais découvrir un peu Python. Pour les bases, j'ai trouvé une vidéo
    ... qui m'a fait progresser un peu, mais surtout rapidement. Cette aide à la mise en route sur mes 3 OS d'une solution d'IDE est appréciable. Cependant j'aimerais quelques précisions plus "générales" avant d'aller plus loin.

    Je fais du développement desktop (Windows, Linux et mac OS), du web et parfois du mobile. Mes IDE (sauf Delphi) fonctionnent tous sur les 3 OS de mon poste de développement. Dans tous les cas, j'ai besoin pour mes projets d'un GUI moderne. Par exemple y compris en desktop, j'ai besoin de traiter les chaines en HTML ce qui suppose "disposer" d'un éditeur de saisie de texte enrichi, d'un affichage HTML dans les cellules des tableview, d'une impression ou mieux d'une génération pdf de ces chaines HTML. Actuellement, je ne dispose que de Qt pour faire cela facilement et surtout proprement.

    Mon projet actuel est l'assemblage d'une solution de learning analytics. Ce projet suit et organise notamment avec un moteur d'IA la progression pédagogique individuelle des élèves, d'un groupe ou d'une classe. J'ai besoin d'y intégrer une solution de force-directed graph.

    Qt possède tous les éléments pour faire cela en desktop et en mobile mais pas de solution web. Si l'on en croit les sites internet de présentation, les bibliothèques de Python (moteur IA, force-directed graph) sont à la hauteur de celle du C++.

    Et...On peut interfacer Python avec les fenêtres UI de Qt Designer et avec le code Qt. Ce qui résout au moins partiellement le traitement des chaines HTML. C'est la seule approche que j'ai trouvée. TKinter, WxPython, Kivy ne semblent pas permettre ce genre de "prouesses".

    Reste quand même un problème technique. En desktop, je compile Qt statiquement pour pouvoir simplifier le déploiement chez le Client. J'y intègre y compris les bibliothèques openSSL et libmariadb que je ne distribue donc pas. Je fais pareil avec Lazarus et Delphi ne distribuant qu'un seul fichier, l'exécutable. Je ne vois pas faire installer Python sur son poste par le Client. Il semble être possible de "compiler" (i.e. produire une application ne nécessitant pas l'installation de Python sur le poste client) mais ces solutions sont-elles compatibles avec le binding des bibliothèques Qt ?

    Je ne me suis que partiellement penché sur le problème des licence et des obligations. Je possède une licence Qt mais le binding avec Python est réalisé par une société tierce ? 480 € semble-t-il. Dans un premier temps, je suppose que comme pour Qt, on peut l'utiliser gratuitement avec toutes les restrictions que cela impose évidemment.

    L'énorme avantage que présenterait l'utilisation de Python sur Qt serait le "portage" sur le web. J'ai vu plusieurs solutions, Django, Flask, ... J'ai un peu comparé les modes de fonctionnement. Je serais plutôt attiré par FastAPI. Nous hébergeons nos propres serveurs (Windows et Linux) aussi nous disposons de la flexibilité nécessaire. J'ai rencontré une présentation sympathique. Mais évidemment, il est difficile de déterminer les revers de la médaille et notamment ce que l'on ne peut pas faire avec, et les performances exactes comme la réaction à la charge, pas seulement au nombre de connexions à un instant donné, mais par exemple, à la charge de 30 calculs requis par 30 visualisations simultanées de force-directed graph distincts par 30 élèves en début de cours par exemple. Si j'en crois ce que j'ai lu, par exemple Django nécessite plus de ressources qu'un FasAPI pour faire le même travail, notamment en requête simultanées sur un même site. Ma question complémentaire serait "que ne peut pas faire le framework FastAPI que feraient usuellement Django ou Flask ? Ou pour quel travail FastApi serait-il moins habile ?

    Merci de vos conseils. Cordialement. Gilles
    Dernière modification par Invité ; 24/06/2022 à 10h22.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par HTML-Dev Voir le message
    Il semble être possible de "compiler" (i.e. produire une application ne nécessitant pas l'installation de Python sur le poste client) mais ces solutions sont-elles compatibles avec le binding des bibliothèques Qt ?
    Ce n'est pas de la compilation mais du packaging qui permet de déployer une application sans avoir à installer Python et les bibliothèques du projet "à la main"... Les bibliothèques Qt ne sont pas traitées différemment des autres. Dans tous les cas, ce sont des outils qui font ce qu'ils peuvent et on doit souvent compléter "à la main" des indications sur les bibliothèques à inclure.

    Citation Envoyé par HTML-Dev Voir le message
    Ma question complémentaire serait "que ne peut pas faire le framework FastAPI que feraient usuellement Django ou Flask ? Ou pour quel travail FastApi serait-il moins habile ?
    Si c'est pour réaliser un serveur ReST, il n'y a pas grand chose à ajouter à FastAPI ou Flask (sauf peut être une base de données). Et si la partie cliente est réalisée avec Qt, je ne comprends pas pourquoi les calculs seraient fait côté serveur.
    Une autre option pourrait être d'utiliser un browser côté interface client et des bibliothèques JavaScript pour réaliser l'interface de l'application.
    note: regardez aussi ce que sait faire pyscript (voir annonce récente dans le forum).

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

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    merci pour votre réponse. Je regarde cela.
    Cordialement. Gilles

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    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 323
    Par défaut
    Citation Envoyé par HTML-Dev Voir le message
    Si l'on en croit les sites internet de présentation, les bibliothèques de Python (moteur IA, force-directed graph) sont à la hauteur de celle du C++.
    Généralement, ce ne sont pas des bibliothèques écrites en python, donc oui, cette partie "métier" est "rapide" puisque écrite en C et compilée.


    Citation Envoyé par HTML-Dev Voir le message
    L'énorme avantage que présenterait l'utilisation de Python sur Qt serait le "portage" sur le web.
    Pas sûr que l'on puisse porter beaucoup de l'un à l'autre : même langage mais technos très très différentes. Je n'ai pas compris ce que tu désirais en "partie web" ? recréer exactement la même applis que la desktop ? Si oui, en effet, il est possible de mutualiser du code python. Mais en fait très très peu.

    Citation Envoyé par HTML-Dev Voir le message
    Ma question complémentaire serait "que ne peut pas faire le framework FastAPI que feraient usuellement Django ou Flask ? Ou pour quel travail FastApi serait-il moins habile ?
    FastApi, c'est uniquement pour générer une api rest coté serveur (donc très limité)
    Flask, passe partout, n'impose pas de structure. Répond à tous les cas (api web, site simple/complexe, ... )
    Django: Impose une structure, est plutôt réservé pour faire des sites web. A son propre ORM (pas simple si on utilise du sql qu'il est préférable d'oublier avec lui) et même moteur de template que Flask

    ce qui suppose "disposer" d'un éditeur de saisie de texte enrichi
    Flask, Django, ce n'est que du coté serveur ! Un éditeur dans un navigateur, c'est du javascript...

    Pour pyscript, malheureusement on ne peut utiliser que quelques bibliothèques externes à python donc je suppose qu'il n'y a pas celle pour ces graphiques "intelligents".

Discussions similaires

  1. Question JDO et peut-être JPA - migration
    Par pierre++ dans le forum Persistance des données
    Réponses: 0
    Dernier message: 28/08/2009, 14h44
  2. questions sur ocamlyacc (et peut-être ocamllex)
    Par Garulfo dans le forum Caml
    Réponses: 3
    Dernier message: 09/06/2008, 00h58
  3. Réponses: 15
    Dernier message: 19/09/2007, 18h46
  4. question (peut-être idiote) sur les vues
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/03/2003, 10h35

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