PDA

Voir la version complète : IDE pour Python



HAVOC
16/04/2009, 19h00
Salut,

J'aimerais avoir vos conseils pour le choix d'un IDE pour le langage Python, je dois bientôt effectuer un stage où je compte développer une application graphique en Python pour Linux.

J'hésite encore entre QT et GTK pour la bibliothèque graphique même s'il me semble que GTK est un choix plus cohérent si l'application se destine à Gnome ou XFCE.

Je pense développer en MVC avec les outils suivants :
- Pour interface en GTK : Glade.
- Pour interface en QT : Qt Designer.

Par contre, je n'ai pas encore d'idée précise pour l'IDE, je sais qu'il y a un plug-in sous Eclipse, je connais assez bien l'IDE Eclipse car je l'utilise pour JAVA (Même si je préfère Netbeans ou IntelliJ) mais je ne sais pas ce qu'il vaut pour Python.

Alors vos conseils ?

Walid.
17/04/2009, 17h35
Bonjour,
J'ai travaillé avec Wing IDE il y a 2 ou 3 années. Un IDE complet.. Rapide, code completion, doc instantanée..etc mais il n'a pas un éditeur de GUI.

amarsoft
17/04/2009, 18h03
il y a une bonne liste chez developpez

HAVOC
17/04/2009, 18h55
Bonjour,
J'ai travaillé avec Wing IDE il y a 2 ou 3 années. Un IDE complet.. Rapide, code completion, doc instantanée..etc mais il n'a pas un éditeur de GUI.

Il semble pas mal et disponible sous Linux, je vais le tester. Pour le GUI ce n'est pas un problème, j'utiliserai Glade ou QT Designer.

salimdz
17/04/2009, 19h33
Il semble pas mal et disponible sous Linux, je vais le tester. Pour le GUI ce n'est pas un problème, j'utiliserai Glade ou QT Designer.

svp tu peut m'explique ce GUI, désole je suis nul en linux

HAVOC
17/04/2009, 20h02
svp tu peut m'explique ce GUI, désole je suis nul en linux

Pas de problème l'ami, la GUI n'est pas un terme spécifique à Linux mais un terme en programmation. GUI (Graphical User Interface) c'est à dire l'interface utilisateur graphique. Cela désigne donc en programmation tout ce qui est conception de l'interface graphique des logiciels.

J'avais parlais aussi de MVC pour Modèle Vue Controleur, c'est une méthode de conception des GUI. En gros, on divise l'application en 3 section :
- Le modèle : il s'agit en quelque sorte du corps de l'application celle qui traite les données.
- La vue : il s'agit de l'interface que manipule l'utilisateur du logiciel (les différents écran ou fenêtre d'un logiciel).
- Les Contrôleurs : Il s'agit des contrôleurs qui prennent en charge les différents événements, comme par exemple : un clique sur un bouton, sélection d'un choix dans un menu. Ils servent aussi à la synchronisation, par exemple en affichant les informations d'une base de données (modèle) dans une vue (fenêtre).

salimdz
17/04/2009, 20h40
Pas de problème l'ami, la GUI n'est pas un terme spécifique à Linux mais un terme en programmation. GUI (Graphical User Interface) c'est à dire l'interface utilisateur graphique. Cela désigne donc en programmation tout ce qui est conception de l'interface graphique des logiciels.

merci l'ami pour ce aide, ah ok je rappel "Graphical User Interface" j'ai oublie totalement, j'ai l'habitude de programmé en delphi, et avant delphi j'ai programmé avec le Turbo Pascal et le C mais il ya une très long durée

je ne sais si je peut exporte mes sources de delphi win ver une version delphi linux (sans grand modification)


J'avais parlais aussi de MVC pour Modèle Vue Controleur, c'est une méthode de conception des GUI. En gros, on divise l'application en 3 section :
- Le modèle : il s'agit en quelque sorte du corps de l'application celle qui traite les données.
- La vue : il s'agit de l'interface que manipule l'utilisateur du logiciel (les différents écran ou fenêtre d'un logiciel).
- Les Contrôleurs : Il s'agit des contrôleurs qui prennent en charge les différents événements, comme par exemple : un clique sur un bouton, sélection d'un choix dans un menu. Ils servent aussi à la synchronisation, par exemple en affichant les informations d'une base de données (modèle) dans une vue (fenêtre).

merci, je connue cette technique j'ai lu des articles et des documents sur cette technique MVC, mais j'ai jamais utilisé, je veux programme avec cette technique

mouradski
17/04/2009, 21h12
merci, je connue cette technique j'ai lu des articles et des documents sur cette technique MVC, mais j'ai jamais utilisé, je veux programme avec cette technique

Normalement Delphi est déjà structuré en MVC :)

Walid.
17/04/2009, 21h29
Bonsoir,
Delphi sous Linux ça n'existe pas. Tu peux utiliser Kylix mais ce dernier n'est plus en développent depuis des années.
Pour le MVC, j'aime bien. En plus, une bonne partie des Frameworks graphiques l'ont adopté, aussi très utile dans le développement Web.

HAVOC
17/04/2009, 21h33
Perso, en JAVA (et dans de nombreux langages modernes), la programmation de GUI se fait naturellement en MVC.

mouradski
17/04/2009, 21h43
Perso, en JAVA (et dans de nombreux langages modernes), la programmation de GUI se fait naturellement en MVC.

La discipline Orientée objet l'oblige même à le faire je dirais !

La partie designer qui peut être générée par Code, Drag & Drop sur IDE ou même dynamiquement : représente la Vue

Le modèle : Le core de l'application ou de l'objet control ou d'autres middleware.

Le Contrôleur : tout les membres d'une la class du composant finissant habituellement par Manager :) et gèrant l'état du composant et les événements liés.

salimdz
17/04/2009, 22h29
pour le MVC : j'ai lu des articles qui séparent entre les codes (des dlls séparé ) entre le M et le V et le C

HAVOC
17/04/2009, 22h32
J'ai encore jamais codé un programme destiné à Windows pour avoir des DLL lol

salimdz
17/04/2009, 22h45
il ya pas des fichiers ce linux similaire au dll de windows

mouradski
17/04/2009, 22h47
pour le MVC : j'ai lu des articles qui séparent entre les codes (des dlls séparé ) entre le M et le V et le C

Chacun implémente le concept comme il veut, mais à ma connaissance, chaque composant d'interface implémente ce concept, en plus avec l'OO, il est impossible de faire autrement que de tout réunir dans une seule entité qui est l'Objet (Classe). Dispatcher le M, le V et le C sur différentes DLL (Librairies) est une pratique purement procédurale, carrément dépassée.

mouradski
17/04/2009, 22h49
il ya pas des fichiers ce linux similaire au dll de windows

Sous Linux, le seul moyen à ma connaissance de travailler (Exploiter/Développer) des DLL est développer avec MONO .NET donc avec du C++ .NET / du C# / VB .NET.

amarsoft
17/04/2009, 23h12
je ne sais si je peut exporte mes sources de delphi win ver une version delphi linux (sans grand modification)

delphi linux macache
mais il y a lazarus cherche sur le forum ou bien sur mon blog

Darkvader
18/04/2009, 13h47
il ya pas des fichiers ce linux similaire au dll de windows


The closest thing to .dll in linux environment is .so (Shared object).

bassim
29/04/2009, 23h59
le MVC est parfois trop lourd dans une application où les écrans graphiques ne sont pas riches et complexes. Le modèle peut souvent être remplacé par les entités métiers au lieu d'une couche intermédiaire souvent inutile.
Sinon en Java, je préfère largement M(VC) sinon rien du tout puisque Swing est déjà programmé selon ce patron de conception.

bidossessi
19/07/2009, 15h45
IDE python simple, légère: geany (http://www.geany.org/)
si tu finis avec ton projet, viens me voir.

HAVOC
19/07/2009, 17h44
IDE python simple, légère: geany (http://www.geany.org/)
si tu finis avec ton projet, viens me voir.

Je n'ai pas encore fini mon stage et l'application en question (ce n'est pas les coupures de courant à répétition qui m'aident).

J'ai fini la partie client que j'ai fais en Python+Tkinter finalement, cette bibliothèque étant beaucoup plus simple à prendre en main et suffisant pour mes besoins, j'ai pas utilisé le modèle MVC non plus... car cela aurait complexifier les choses pour rien.

Là j'attaque la partie serveur qui est en PHP, je suis actuellement entrain de faire du parsing XML avec XMLReader. J'ai décidé par contre pour l'application serveur de développer en MVC en exploitant un moteur de template (Smarty) car c'est nécéssaire pour pemettre une customisation aisée de l'application.

J'espère finir le tout d'ici la fin du mois... si j'ai un peu de temps je vais essayer de remplacer TKinter par GTK.

Pour ce qui est des outils, et bien Geany m'a encore été un allié fidèle, j'avais essayé le plugin python de Netbeans mais Geany reste plus souple.

bidossessi
19/07/2009, 18h02
J'espère finir le tout d'ici la fin du mois... si j'ai un peu de temps je vais essayer de remplacer TKinter par GTK.

ça ne sera pas chose facile, sauf si tu vas avec glade, ce qui devrait te faire gagner un peu de temps.
il y a des libraries "de soutien" GTK que tu peux inclure dans ton app pour améliorer l'UI, et faire des trucs un peu plus cool: kiwi (http://www.async.com.br/projects/kiwi/).
il te permet de faire certaines taches comme la génération de Treeview beaucoup plus facilement (en liant automatiquement tes colonnes aux attributs d'instances dans un array, par exemple)

tu codes en python3 ou 2.5?

personellement, j'ai commencé avec kiwi, mais à moyen terme, je compte bien alléger mes deps au fur et à mesure que j'apprends GTK.

je te souhaite bonne chance

HAVOC
19/07/2009, 18h34
tu codes en python3 ou 2.5?

personellement, j'ai commencé avec kiwi, mais à moyen terme, je compte bien alléger mes deps au fur et à mesure que j'apprends GTK.

je te souhaite bonne chance

Je code en Python 2.6, beaucoup de bibliothèques n'étant pas encore porté en Python 3, comme Poster qui m'est indispensable pour l'envoi du fichier XML via méthode POST du protocole HTTP.

Coté GUI, je pense pouvoir me contenter de GTK et Glade car l'interface est simple.

ychaouche
18/03/2010, 22h11
Emacs avec son python-mode et son pymacs ?

Sinon, Eric (http://eric-ide.python-projects.org/) parait avoir une certaine popularité auprès des devs python.

HAVOC
19/03/2010, 06h36
Emacs avec son python-mode et son pymacs ?

Sinon, Eric (http://eric-ide.python-projects.org/) parait avoir une certaine popularité auprès des devs python.

Je suis beaucoup plus école Vim que Emacs. cela dit, Geany fait très bien l'affaire pour coder en Python.

Red
21/03/2010, 15h05
eclipse + pydev pour moi

sakura
21/05/2010, 13h12
salam
j'ai une petite question consernont geany ,d'habitude j'utilise IDLE de python pour editer mon code et je veux changé IDE, j'ai testé pas mal d'IDE boa un peu lourd pour mon pc,Wing IDE tres complet mais c un shareware
donc j'ai essayé hier geany mais quand j'execute mon code une fenêtre cmd s'affiche

'python' n'est pas reconnu autant que commande interne ou externe,un programme executable ou un fichier de commande.
apputer sur une touche pour continuer...
j'ai pas trouvé de doc pour utilisateur windows la plupart dédier au linuxien ,je l'ai mal installer ou quoi ou bien je doit installer des plugins
merci d'avance

sakura
22/05/2010, 17h39
c'est bon, je devais juste installer MinGW