Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/03/2007, à 18:16

netchaiev

Question idiote sur la programmation

Bonsoir à tous,

Après avoir fait le grand saut de windows vers Linux, je me prépare à en faire un autre : De Microsoft Access à Python.

D'après ce que j'ai pu lire ici et là, il est tout à fait possible de faire un traitement de base de données avec interface graphique.

Dites moi si je me trompe mais pour faire cela il me faut :
- Mysql pour la conception de la base, des requêtes etc.....
- Python pour tout les traitements
- gtk ou wxpython pour l'interface graphique...

Est-ce que j'ai tout bon ?

Est-ce le bon choix ou avez vous une autre solution (hormis OpenOffice base)

Merci de vos conseils

A+
netchaiev

Dernière modification par netchaiev (Le 26/03/2007, à 20:02)


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#2 Le 26/03/2007, à 18:42

Pistolero

Re : Question idiote sur la programmation

Salut,
tes choix sont les bons. Python gère très bien le traitement de base de données, c'est pourquoi il est souvent utilisé pour du webservice. Un p'tit exemple très simple :
http://www.serpia.org/mysql
A+


Desole pour les accents, je suis esclave d'un qwerty.

Hors ligne

#3 Le 26/03/2007, à 18:53

netchaiev

Re : Question idiote sur la programmation

Salut,

Je te remercie pour la réponses. Néanmoins, je me pose deux autres questions :

A quoi sert python entre mysql et wxpython ? (je sais c'est peut être idiot mais bon......)

Deuxième question : J'ai fait une recherche sur synaptic avec mysql. J'ai trouvé en gros une bonne cinquantaine de fichiers. lesquels prendre ? (tous ?.......)

D'ailleurs, cela me fait penser à une autre question qui n'a pas vraiment sa place sur cette partie du forum. Mais au sujet des plug in comment savoir lequel ou lesquels il faut installer pour un logiciel x quand on est fâché avec l'idiome shakespearien.

A+
netchaiev


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#4 Le 26/03/2007, à 19:06

Gari

Re : Question idiote sur la programmation

Pour faire simple :

La couche MySQL gère la base de donnée. Disons qu'elle n'a aucune intelligence, c'est juste une collection de données.
La couche wxPython gère uniquement l'affichage. Là aussi, il n'y a aucune intelligence, c'est juste de la gestion de fenêtrage.
La couche Python contient l'intelligence : c'est elle qui décide quelles informations aller cherche dans la couche MySQL, quels traitements faire sur ces informations, et quelles informations afficher sur la couche wxPython.

Hors ligne

#5 Le 26/03/2007, à 19:15

netchaiev

Re : Question idiote sur la programmation

Merci Garl,

Ok je comprends mieux l'architecture entre les trois logiciels. Là encore est-ce peut être idiot de ma part, mais hormis OpenOffice base, n'y a-t-il rien en terme de logiciel qui ferait les trois à la fois et qui soit évidement utilisable sur Windows (ouais je sais j'abuse.....:P)

N'empêche je suis décidé à me lancer dans python.

Autre question : Ayant uniquement comme expérience Access, est-ce que Python, mysql et wxpython sont à la portée d'une intelligence moyenne n'ayant jamais fait d'étude d'informatique ?

Enfin, j'en reviens à une de mes précédentes questions  : Quels plug in installer pour que mon apprentissage soit le plus simple et le plus complet.

Bonne soirée.

Netchaiev


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#6 Le 26/03/2007, à 19:23

kezar

Re : Question idiote sur la programmation

Une bonne idée : feuilleter le DiveIntoPython, ou http://python.developpez.com/cours/TutoSwinnen/ (et plus généralement la section tutoriaux et sources de developpez.com).
Tu pourras aller faire un tour sur irc si jamais tu as des soucis il y a des chans spécialisés en développement.

Hors ligne

#7 Le 26/03/2007, à 19:25

netchaiev

Re : Question idiote sur la programmation

merci pour tous,

je m'attaque à cela et je reviendrais sûrement vous poser des questions

a+ netchaiev


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#8 Le 26/03/2007, à 19:53

Pistolero

Re : Question idiote sur la programmation

dans l'installe il ne faut pas oublier (en plus de mysql-server et de python2.4) le module qui fait le lien entre mysql et python, dans synaptic c'est le paquet python-mysqldb.

++


Desole pour les accents, je suis esclave d'un qwerty.

Hors ligne

#9 Le 26/03/2007, à 20:01

netchaiev

Re : Question idiote sur la programmation

Ok je te remercie pour tous ces renseignements, en particulier sur les différentes parties de python a installer. Mais concernant Mysql faut-il installer des trucs précis ?

a+
benoit


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#10 Le 26/03/2007, à 20:22

aleph

Re : Question idiote sur la programmation

Mon peit grain de sel.

Gari a très bien résumé le principe de fonctionnement.

A celle ou celui qui a mis résolu, j'ajouterai qu'il a oublié une chose importante: quelques années de développement.

Plus sérieusement.
MySQL + Python + wxPython: ça existe déjà et cela se nomme dabo : http://dabodev.com/

(Ed et Paul, les concepteurs de dabo, sont des contribuleurs réguliers sur le forum des développeurs/contributeurs de wxPython).

Peite remarque à tous ceux qui n'utilisent pas encore Python 2.5. La base de donnée SQLite fait partie de Python 2.5 et accessoirement aussi utilisable avec dabo.

Je n'ai aucune expérience avec dabo.

#11 Le 26/03/2007, à 22:19

netchaiev

Re : Question idiote sur la programmation

Donc si je te comprends bien aleph, l'apprentissage de python, mysql et wxpython n'edt pas vraiment donnée à une intelligence moyenne, comme l'est Access.

Là j'avoue que j'ai comme un coup de bourdon sad


MAis je vais essayer quand même, même si cela n'a de conséquence que de me muscler le cerveau un tout petit peu plus.

J'avais simplement envie de faire une BDD genre bibliothèque, etc.... avec une interface agréable.

A+
NETCHAIEV


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#12 Le 26/03/2007, à 22:36

Gari

Re : Question idiote sur la programmation

Hum je vois. Python est un vrai langage de programmation, rien à voir avec Access (pour ce que j'en connais, bien qu'il y ait des macros je crois, dans Access, qui se rapprochent de la programmation classique).
Je ne suis pas sûr que apprendre le Python juste pour faire de la BDD de base soit la meilleure approche ; ceci dit je ne pourrai pas t'aider car je ne me suis jamais intéressé au genre d'application que tu souhaites faire. Et si ça se trouve, Python reste le meilleur choix.

Dernière modification par Gari (Le 26/03/2007, à 22:43)

Hors ligne

#13 Le 27/03/2007, à 00:42

kezar

Re : Question idiote sur la programmation

Il me semble (mais alors faut vérifier) qu'on peut mettre du python en script dans OpenOffice. Avec OpenOffice Base tu pourrais peut-etre faire un truc un peu comme tu as envie.
Enfin ne lâche pas, Python c'est pas bien dur (lis la doc du lien que j'ai donné, ça devrait t'aider pas mal, sinon un très bon tuto d'introduction est disponible ici http://www.jchr.be/inf/doc/python.htm - simple et accessible à mon avis -).

Sinon si c'est juste une gestion de bibliothèque que tu veux, il y a déjà des choses qui existent : gcstar par exemple (GTK), Tellico (Qt), ...


[edit] Ah et oui, Python est un vrai langage de programmation à part entière. Il est interprété (par défaut), mais on peut aussi le compiler et le faire interagir avec du C, du C++. Il possède des bindings (liaisons) avec la plupart des libs existantes en C/C++ (comme GTK, Qt, MySQL, PostgreSQL, SQLite comme ça a été dit, ...). Au niveau du principe ça se rapproche du Java (à savoir qu'il y a une sorte de "machine virtuelle" qui interprète le code ainsi qu'un équivalent du garbage collector pour nettoyer la mémoire. Il a l'avantage d'être assez proche d'un langage naturel et il est très lisible (en fait la structure du programme est faite par l'indentation des lignes de code, c'est original mais ça permet de forcer le développeur à écrire proprement et ça facilite la lecture des sources dont on n'est pas l'auteur). Un petit tour sur Wikipedia vous donnera plus d'infos si nécessaire. Rien à voir avec les langages de script au rabais qu'il y a dans Office wink

Dernière modification par kezar (Le 27/03/2007, à 00:48)

Hors ligne

#14 Le 27/03/2007, à 09:19

aleph

Re : Question idiote sur la programmation

> netchaiev
Donc si je te comprends bien aleph, l'apprentissage de python, mysql et wxpython n'edt pas vraiment donnée à une intelligence moyenne, comme l'est Access.
---
La question ou le problème n'est pas là. Si c'est pour t'amuser, tu peux choisir ce qui te semble bon. Si tu cherches un outil ou si tu veux créer ton propre outil, alors devoir se farcir l'apprentissage de Python, wxPython est un gros travail. Le jeu n'en vaut peut-être pas la chandelle.

Grosso modo, passer d'Access à Python/MySQL/wxPython ne signifie pas, passer d'un outil de gestion de base de données à un autre outil, mais cela revient plutôt à créer son propre Access.

Pour un bon outil, Python/MySQL/wxPython n'est pas suffisant, il faut encore ajouter un bon module pour imprimer les données, ReportLab est souvent cité.

Deux pistes amusantes en Python.

- Travailler en mode console et jouer interactivement avec une base de donnée. Par ex. - tiré de la documentation Python - :

conn = sqlite3.connect('/tmp/example')

c = conn.cursor()

# Create table
c.execute('''create table stocks
(date timestamp, trans varchar, symbol varchar,
 qty decimal, price decimal)''')

# Insert a row of data
c.execute("""insert into stocks
          values ('2006-01-05','BUY','RHAT',100,35.14)""")

- Travailler en mode console et jouer interactivement avec une base de donnée Access. Il existe une foule de modules prêts à l'emploi, Google -> Python Access.

> Gari
Hum je vois. Python est un vrai langage de programmation, rien à voir avec Access (pour ce que j'en connais, bien qu'il y ait des macros je crois, dans Access, qui se rapprochent de la programmation classique).
---
Access a son langage, VBA. On aime ou on n'aime pas, mais on peut tout faire. Access présente tout sous le même toit, langage, création des bases, création de formulaires, impression, etc.

Petite note personnelle: OOo Base, c'est bien joli, mais devoir utiliser toute l'artillerie Java pour une base de données simple, je ne suis pas convaincu que ce soit optimal. Enfin, chercher le sponsor...

Cela dit, les base de données, c'est pas mon truc.

#15 Le 27/03/2007, à 12:36

Gari

Re : Question idiote sur la programmation

>Aleph
En fait, j'ai déjà utilisé Access il y a loooongtemps, et à cette époque je n'ai jamais éprouvé le besoin de programmer en VBA (au passage, merci de me rappeler le nom du langage tongue). Les quelques trucs que j'avais fait en Access n'étaient pas assez complexes pour requérir l'ajout de VBA.

Programmer en VBA sous Access est donc optionnel, alors qu'en python c'est obligatoire.

Tout dépend de netchaiev : S'il a déjà programmé en VBA sous Access, il devrait pouvoir facilement passer à Python, par contre s'il n'a jamais programmé de sa vie ça risque d'être un peu plus dur.

Hors ligne

#16 Le 27/03/2007, à 14:42

netchaiev

Re : Question idiote sur la programmation

Salut,

j'ai effectivement déjà utilisé VBA sous access parce que cela m'amusait........:P. Et puis cela permettait d'améliorer quelque peu les présentations (fenêtres et autres) qui sous ce logiciel sont pas terribles.

Je me trompe donc peut être de question alors. Si effectivment Pyhton va me servir à créer un logiciel Access, cela risque d'être un peu ambitieux pour moi. Par contre, j'aimerais utiliser des bases Mysql déjà constrruites avec leurs requêtes respectives.

Pour cela, je dois construire des formulaires de saisies, des rapports de résultats etc..... Au premier abord OpenOffice semble bien remplir son rôle, mais de ne pas offrir une large possibilité d'expression.

Y aurait-il donc une alternative à tout cela : Mysql pour les bases de données, une interface graphique quelconque et un truc entre les deux. Mais en fait je bloque toujours sur le truc entre les deux.

Sous windows, il y avait access, delphi, etc..... Mais sur Ubuntu ????

Bonne journée à tous.
Netchaiev


CM : MSI P55-GD65 ; 8 G° de Ram ; Processeur  : Intel I5 750
Carte son : intégrée à la CM. Du 7.1
Carte graphique : Geforce GT730
Ubuntu 23.10 64 bits

Hors ligne

#17 Le 27/03/2007, à 19:55

gene69

Re : Question idiote sur la programmation

sinon ta collection tu peux la stocker dans une base de donnée SQL et interroger ta base à l'aide de phpmyadmin.

ça te demande d'apprendre SQL mais le sql c'est le (presque) même dans Access et mySQL, et stocker des requetes compliquées que tu nous aura demandées sur le forum.

Attention l'interface de phpMyAdmin est faite par des geek, est laide, avec une période d'apprentissage un peu longue.

Résultat: tu as quelque chose de portable => dans le navigateur et qui convient parfaitement. La base de donnée ne sera jamais portable (les données oui, on se comprend) et de ce fait tu as besoin d'un serveur, donc tu peux poser une instance apache2+php.

Voilà pour la 3e voie.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#18 Le 27/03/2007, à 20:00

gene69

Re : Question idiote sur la programmation

phpmyadmin te permet de gérer plusieurs utilisateurs... selon les permissions d'un utilisateur tu pourras masquer ou non des bases et peut-être des tables.

Je pense que tu peux étudier la question.... Mais de toute façon phpMyAdmin est l'interface canonique de mySQL...


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#19 Le 27/03/2007, à 21:01

aleph

Re : Question idiote sur la programmation

> gene69

Hou, hou, reviens sur terre...

Voilà un type (ou un dame) qui a une base de données empaquetée "à la sauce MySQL", qui cherche un outil pas trop compliqué pour éditer, faire de requêtes, gérer sa base de donnée. Un truc comme Access, quoi.

Tout ce que vous trouvez à lui proposer, ce sont des outilis compliqués, em* à installer, et même reconnus laids, ...

Après on s'étonne que le gens ne veulent pas utiliser Linux !

Quelle est le pendant d'Access sous Ubuntu ? Voilà la vraie question. OOo Base ?

#20 Le 28/03/2007, à 14:45

kezar

Re : Question idiote sur la programmation

Si c'est juste pour gérer les données pourquoi pas MySQL Administrator ? MySQL Query Browser ?

Après pour l'affichage en lui même il faudra bien quelque chose (et si on veut vraiment faire très simple, on peut effectivement passer par du PHP, ça a l'avantage d'être directement imprimable).

Hors ligne

#21 Le 29/03/2007, à 00:14

alteo_gange

Re : Question idiote sur la programmation

aleph a écrit :

Access a son langage, VBA. On aime ou on n'aime pas, mais on peut tout faire. Access présente tout sous le même toit, langage, création des bases, création de formulaires, impression, etc.

Petite note personnelle: OOo Base, c'est bien joli, mais devoir utiliser toute l'artillerie Java pour une base de données simple, je ne suis pas convaincu que ce soit optimal. Enfin, chercher le sponsor...

Plusieur langages sont utilisables avec OOo base:
OOobasic (sorte de VBA avec des objets différents), python, beanshell; Java et C++ en ajoutant un kit de développement (SDK)...

Qu'est-ce qui vous gêne avec OOo base?
Sa jeunesse (ses bugs)? La lourdeur de OOo (ram utilisée, temps de démarrage)?

Sinon à première vue ses fonctionnalités ont l'air intéressantes. Mais bon, je suis loin d'être un spécialiste en base de données.

Hors ligne

#22 Le 29/03/2007, à 00:26

yohann

Re : Question idiote sur la programmation

si ta base est sous mysql et que tu veux la conserver et y acceder avec un truc à la access, tu seras peut être interressé de savoir qu'il existe une conecteur odbc pour mysql: myodbc, qui te permettra d'utiliser mysql comme tu utiliserai une base OO


j.vachez, le génie du net | Soirées jeux sur Lyon | 441
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Hors ligne