Quel environnement pour développement SQL à petite échelle ?
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Quel environnement pour développement SQL à petite échelle ?



  1. #1
    saint.112

    Quel environnement pour développement SQL à petite échelle ?


    ------

    Bonjour à tous

    J'ai beaucoup utilisé dans le temps, sans l'avoir vraiment choisi, FileMaker Pro et 4D qui ont tous les deux des limitations inacceptables, sans parler du prix. J'ai aussi un peu utilisé Access.
    J'ai besoin de (re)développer pour moi une petite BD sur le modèle d'une de celle que j'avais faite avec FMP. Ma structure relationnelle est donc toute prête. J'avais fait mon analyse à l'époque selon la méthode Merise. Elle marche parfaitement et je la connais par cœur.
    J'ai déjà exporté toutes mes données dans des fichiers txt tabulés, bien entendu avec les clés primaires et étrangères. Les données sont archi clean : il n'y a que des INT et des CHAR, même pas de dates ni de décimales. J'aurai donc besoin ultérieurement d'importer ces données dans ma nouvelle base.

    J'ai une compétence en développement relativement limitée. Je me suis formé sur le tas et avec des formations à droite et à gauche. Je connais le modèle relationnel. Je me débrouillais très bien avec le langage de 4D, d'un type procédural pas très sophistiqué mais suffisamment puissant pour mon usage. J'avais même réussi à introduire une pincée de concepts OO dans mes solutions.

    Je voudrais me tourner vers une solution SQL, gratuite puisqu'il y en a. J'ai eu autrefois une initiation à ce langage mais je suis à la recherche d'un IDE graphique sans trop de prise de tête, comme dans 4D (1), quitte à mettre les mains dans le cambouis si nécessaire. Je voudrais aussi un IDE pour le développement de l'interface utilisateur, toujours comme dans 4D et Access.
    C'est un projet personnel donc je voudrais éviter le syndrome qui consiste à louer un tractopelle pour planter un géranium dans le bac à fleurs.

    J'ai testé OpenOffice Base mais il a raté plusieurs de mes tests préliminaires. Question création de la base, c'es passable (c'est pompé sur Access). Son premier défaut rédhibitoire à mon avis est que cette application est tout-en-un (tableur, traitement de texte, présentation, SGBD, etc.). Quelle idée !?
    Test éliminatoire raté : l'import des données. Il n'y a rien de prévu.
    Test subsidiaire : le point de départ de l'incrémentation des clés n'est pas paramétrable, c'est 0, ni l'incrément. Encore raté.

    Pour le SGBD, on me recommande MySQL ou PostgreSQL. On est dans le bare-bone au point de vue interface de développement, non ?

    J'ai commencé à évaluer FrontBase. Il a un atout à mes yeux : il est né sur Mac dans les années 90. C'est peut-être un détail pour vous mais pour moi ça veut dire beaucoup. Cela dit il est mondialement inconnu. Il se proclame 100% SQL-compliant.
    Création de la base : soit on se la paluche soit on a des wizards assez pratiques. On peut copier son code SQL (pour éventuellement le recycler).
    Il vient de passer ce soir même avec mention Bien le premier test : l'importation des données d'une table. L'interface est perfectible mais sans prise de tête quand on a compris sa logique et le résultat est parfait.

    Pour l'IHM on me recommande Qt. C'est semble-t-il parfait pour les gros paresseux dans mon genre qui n'ont pas envie de se palucher du code mais pas trop pour ceux qui en plus sont nuls en C++.
    Sinon il y aurait Eclipse et NetBeans dont je ne sais pas grand chose.

    Avez-vous des remarques, des suggestions ?

    Nico

    1) C'est Laurent Ribardière, le fondateur de 4D, qui est l'inventeur de l'interface où l'on dispose les tables avec leurs champs et où l'on tire les relations à la souris, plagié sur ce point par MS pour Access et par bien d'autres.

    -----

  2. #2
    CM63

    Re : Quel environnement pour développement SQL à petite échelle ?

    Bonjour,

    Bravo pour ce projet, ce n'est pas une mince affaire. Je ne saurais trop te conseiller de t'orienter "définitivement" (comme disent les américains) vers du libre, et pas encore prendre un truc payant qui sera abandonné par le producteur et qui te laissera au milieu du gué.
    En ce qui concerne tes essais avec OpenOffice, cela ne m'étonne pas que cela ne soit pas satisfaisant, une suite bureautique n'est pas vraiment adaptée pour développer un SGBD, pas plus que ne l'aurait été la suite M$.
    Donc pour la techno de la base, oui du MySql ou du PostgreSQL, c'est bien. En ce qui concerne le langage de développement, c'est vrai que C++ est rebutant, si tu peux trouver quelque chose qui s'interface avec Python, ce serait mieux, ce langage est beaucoup plus facile d'utilisation que C++. Et il est pourtant orienté objet, il y a des classes. C'est un "script orienté objet".
    Tu devrais pouvoir trouver sur le site de Python:
    - le langage lui-même , très léger à installer, sur toute plateforme,
    - des classes interface pour Qt et pour SQL (que ce soit My ou Postgre).
    Les environnements de développements courants peuvent prendre en compte ce langage (et les éditeurs la fontification (le fait de mettre en rouge les mots clef, etc)).

    En ce qui concernerne Eclipse et Netbeans, ce sont des environnements de développement, non? Je connais moins bien, mais les IDE sérieux prennent en compte un langage comme Python

    Bon courage pour cette entreprise, car ce n'ets pas un petit morceau!
    Quoi? Quelque chose que je ne connais pas et qui me fait l'affront d'exister?!

  3. #3
    Bluedeep

    Re : Quel environnement pour développement SQL à petite échelle ?

    Citation Envoyé par saint.112 Voir le message
    Il a un atout à mes yeux : il est né sur Mac dans les années 90. .
    Un atout ???? a priori je considérerais cela comme un défaut rédhibitoire.

  4. #4
    saint.112

    Re : Quel environnement pour développement SQL à petite échelle ?

    J'ai commencé à évaluer FrontBase hier.
    Pour la création des tables, champs, requêtes, etc., il y a une interface graphique un peu austère et à mon avis perfectible, avec des wizards tout de même assez pratiques.
    Le code SQL s'affiche au fur et à mesure. On peut le saisir et le modifier.
    Il a passé hier soir avec mention Bien le premier test : l'importation des données dans une table. Quand on a compris sa logique c'est sans prise de tête et le résultat est parfait. Il importe obligatoirement toutes les colonnes du fichier source, donc il faut qu'il n'y en ait pas plus que de champs dans la table cible, et on peut choisir dans quel champ chacune doit aller et à partir de quelle ligne commencer donc on n'a pas besoin d'ordonner les colonnes du fichier source ni de retirer la ligne de titres.

    Je vais regarder Python.

    Citation Envoyé par Bluedeep Voir le message
    Un atout ???? a priori je considérerais cela comme un défaut rédhibitoire.
    J'ai bien dit “à mes yeux“, vu que je suis sur Mac. Nobody is perfect !

    Nico

  5. A voir en vidéo sur Futura
  6. #5
    Bluedeep

    Re : Quel environnement pour développement SQL à petite échelle ?

    Citation Envoyé par saint.112 Voir le message
    Jle premier test : l'importation des données dans une table. Quand on a compris sa logique c'est sans prise de tête et le résultat est parfait. Il importe obligatoirement toutes les colonnes du fichier source, donc il faut qu'il n'y en ait pas plus que de champs dans la table cible, et on peut choisir dans quel champ chacune doit aller et à partir de quelle ligne commencer donc on n'a pas besoin d'ordonner les colonnes du fichier source ni de retirer la ligne de titres.
    Ce n'est pas au SGBD de faire le taf de l'ETL.

  7. #6
    Arzhur

    Re : Quel environnement pour développement SQL à petite échelle ?

    Bonjour,

    Pour ce genre de petit truc j'utilise :

    MySQL (avec phpmyadmin pour "administrer").
    Eclipse comme IDE (Netbeans marche bien également, mais je suis plus habitué a Eclipse)
    Java pour le côté IHM/Applicatif. Je trouve que les outils disponibles côté Java sont plus complet que ce qui se fait côté Python...mais il n'y a aucun raison que Python ne fasse pas l'affaire.

  8. #7
    CM63

    Re : Quel environnement pour développement SQL à petite échelle ?

    Oui, Java est aussi très bien comme langage, j'avais oublié de le mentionner car je n'ai pas d'expérience de Java contrairement à Python. Java contient en natif dans le langage ce que, dans d'autres langages, on est souvent obligé d'ajouter par library.
    Quoi? Quelque chose que je ne connais pas et qui me fait l'affront d'exister?!

  9. #8
    Bluedeep

    Re : Quel environnement pour développement SQL à petite échelle ?

    Citation Envoyé par CM63 Voir le message
    Java contient en natif dans le langage ce que, dans d'autres langages, on est souvent obligé d'ajouter par library.
    ????

    Quoi par exemple ?

  10. #9
    Arzhur

    Re : Quel environnement pour développement SQL à petite échelle ?

    Quoi par exemple ?
    Je ne sais pas ce que CM63 a en tête, mais j'étais surpris de ne pas retrouver les tableaux ( taille fixe j'entends) en Python (ou alors il y a un pb entre la chaise et le clavier)

  11. #10
    Bluedeep

    Re : Quel environnement pour développement SQL à petite échelle ?

    Citation Envoyé par Arzhur Voir le message
    Je ne sais pas ce que CM63 a en tête, mais j'étais surpris de ne pas retrouver les tableaux ( taille fixe j'entends) en Python (ou alors il y a un pb entre la chaise et le clavier)
    Je ne comparais pas par rapport à Python que je ne connais pas.

    Mais je ne vois pas trop ce que Java a au niveau du langage (pas des bibliothèques, du langage) qu'on ne trouve pas ailleurs; même si mes connaissances approfondies se limitent à C, C# et JavaScript, j'ai quand même eu l'occasion de manipuler une bonne douzaine de langages différents dont Java, et je ne vois pas de spécificité vraiment unique à ce dernier - alors qu'il a des manques criant, tel qu'une implémentation bizarroïde des types génériques, hérité du projet "Pizza".

  12. #11
    Bluedeep

    Re : Quel environnement pour développement SQL à petite échelle ?

    A la réflexion, la seule chose que je vois vraiment spécifique à java, c'est la gestion des exceptions vérifiées, qui impose à l'appelant l'obligation de gérer une exception éventuellement levée par l'appelé.

  13. #12
    saint.112

    Re : Quel environnement pour développement SQL à petite échelle ?

    Il serait plus simple que j'explique en deux mots de quoi il s'agit. C'est une base de données musicales pour gérer ma discothèque. Je n'ai jamais trouvé de solution toute prête qui soit absolument tout-terrain comme la mienne, donc adaptée aussi bien au classique, qu'au jazz, au rock, à la musique indienne, etc. Ça va vous paraitre minuscule. Le noyau comprend les tables suivantes :
    • Œuvres.
    • Interprétations, avec une relation (0, n) avec Œuvres.
    • Artistes : auteurs, compositeurs, interprètes, arrangeurs, etc.
    • Formations
    • Volumes : CD, Vinyles, Cassettes, iTunes, etc.
    • Quelques tables secondaires Instruments, Voix, Mouvements, Versions, etc.
    • Les tables intermédiaires des relations de plusieurs à plusieurs. Il y a en particulier un ménage à trois, Interprétations, Artistes, Formations, relié par une table unique, Jouer.

    La structure s'est révélée très robuste et parfaitement adaptée à tout ce que j'ai voulu y entrer et en sortir.
    Comme vous le constatez, ça ne va pas chercher loin. Il n'y a aucune contrainte particulière en matière de sécurité et de confidentialité. A priori c'est pour fonctionner en mono-poste. La quantité de données n'est pas énorme.

    Comme c'est un travail d'amateur, 4D serait parfait s'il n'avait pas à part ça de multiples défauts, le moindre n'étant pas son prix.

    L'IHM
    Vous imaginez facilement le genre de formulaires dont l'utilisateur (moi) aura besoin.
    Pour illustrer mon propos prenons l'exemple archétypique du formulaire de saisie de facture qui contient :
    • Des données propres à la table Facture où certaines sont saisissables (le code client) et d'autres sont affichées automatiquement (son nom et son adresse).
    • Un tableau dynamique Lignes de facture où l'utilisateur crée de nouvelles lignes dans lesquelles il saisit le code produit et la quantité et où les autres données sont entrées automatiquement.
    À l'époque où j'utilisais 4D, les fonctionnalités par défaut ne passaient pas l'ACID test et donc je m'étais tapé de créer des bibliothèques assez lourdes pour gérer l'interface et les transactions. En particulier créer un tableau dynamique vraiment fonctionnel dans 4D c'était une vraie galère. J'ai donc un peu l'habitude mais je suis paresseux.

    Par exemple pour le module Artistes de ma base il y a 3 formulaires synoptiques (comme pour les factures) qui affichent en haut les données propres à l'individu (nom, dates de naissance et de mort, etc.), et en dessous sur l'un une liste présente les œuvres qu'il a écrites en tant qu'auteur-compositeur, sur un autre une liste présente les interprétations qu'il a dirigées en tant que chef d'orchestre et sur le dernier une liste présente les interprétations qu'il a jouées et/ou chantées en tant qu'interprète.
    Coder les requêtes qu'il y a dessous ne me fait pas trop peur. Mais j'ai des exigences concernant ces tableaux qui doivent être faciles à implémenter : possibilité de tri, de recherche et de lien dynamique, c'est à dire que cliquer sur une ligne renvoie à l'œuvre où à l'interprétation liée. On ne fait pas de saisie dans ces tableaux-là mais dans d'autres oui.
    J'ai besoin aussi de mettre plein de boutons que j'aime bien personnaliser. Je m'étais fait une bibliothèque de boutons à ma façon (de simples objets graphiques) que j'aimerais bien recycler.

    Ce que j'attends d'un soft comme Qt c'est de me fournir des outils pour ce genre de boulot sans prise de tête. Je n'ai pas envie de réinventer la roue.

    Nico

  14. #13
    polo974

    Re : Quel environnement pour développement SQL à petite échelle ?

    Bonjour,
    Je prends le train en route...
    Perso, je n'ai rien contre le fait de lancer un ou 2 "gros" services sur mon pc. J'entends par là un serveur web et une base de donnée.

    Le but étant de faire un truc "web" sans trop se faire suer...

    Il y a l'option LAMP (ou WAMP, pour ceux qui ne veulent pas de linux, (Linux ou Windows, Apache, Mysql, Php).
    Mais je préfèrerais avoir un truc en python et postgresql.

    Pour l'admin pure de postgresq, il y a pgadmin, ça permet de se familiariser avec les commandes et ensuite, on peut très bien bosser en ligne de commande avec psql après (si on se trouve à l'aise avec).

    Le problème est qu'il y a pas mal de possibilités et un jargons webesque qu'il faut apprendre.
    Sans parler des sempiternelles questions du genre: "je fais ça sur le client ou sur le serveur?"...

    Bref, mon besoin est en gros de pouvoir remplir simplement des tableaux et d'enregistrer ça, puis sur d'autres formulaires ou rapport ressortir ces données arrangées un peu autrement, pour la partie admin, ça pourrait se faire de façon beaucoup plus "artisanale" (dans un premier temps).
    Bien sûr il y a le problème de l'identification/authentification, mais c'est du classique...

    L'intérêt, et que (si on n'a pas peur), on peut ouvrir les port 80 et 443 sur le monde externe et faire des choses sympas...
    Toute (bonne) idée est bien venue...

    Sinon, il y a un pyside qui fait le lien entre python et qt.
    Jusqu'ici tout va bien...

  15. #14
    saint.112

    Re : Quel environnement pour développement SQL à petite échelle ?

    Je ne comprends pas bien si c'est une question que tu poses, polo, ou une solution que tu me donnes.

    Mon projet, comme je l'ai souligné, est à toute petite échelle et n'a aucune vocation à aller sur le web, ni d'ailleurs en client-serveur. C'est pour gérer ma discothèque à moi perso en faisant un développement pour le fun. Python ne semble pas du tout la solution pour moi. Je n'ai pas encore eu le temps de me pencher sur Qt.
    Pour le développement SQL j'ai à peu près jeté mon dévolu sur FrontBase mais je n'ai pas vraiment de religion, et d'ailleurs, à ce que j'ai compris, ça n'a pas beaucoup d'importance. Il n'a pas besoin d'être un aigle. Comme je ne vais utiliser qu'un pouillème des fonctions SQL, quel que soit le soft que j'utiliserai, je resterai dans les clous de la norme et ma base aura toutes les chances d'être portable.

    Par contre ce qui a de l'importance pour moi c'est la facilité des outils de développement et la possibilité de faire un IHM sympa.

    Nico

  16. #15
    polo974

    Re : Quel environnement pour développement SQL à petite échelle ?

    Je ne comprends pas bien si c'est une question que tu poses, polo, ou une solution que tu me donnes.
    Un peu les 2... (des fois que quelqu'un ici a des pistes précises à donner...)

    L'intérêt d'avoir une ouverture web est qu'on peut consulter d'à peu près n'importe quel poste, même à la maison (surtout si on est toute une famille, avec chacun un pc portable et (presque) chacun un phone évolué...

    Sinon, pour un dev ponctuel d'une appli simple, le python (si on le connaît un peu) dispose nativement d'avantages réels (les dictionnaires, par exemple...) et simplifie la vie sur la gestion mémoire (il a aussi des inconvénients, dont celui d'être plus lent..).
    Jusqu'ici tout va bien...

Discussions similaires

  1. [Biologie végétale] Echelle de développement légumineuses
    Par Sinistro dans le forum Biologie
    Réponses: 0
    Dernier message: 08/08/2012, 10h32
  2. Environnement de développement pour PIC avec ICD3 de Microchip
    Par inviteff0ad740 dans le forum Électronique
    Réponses: 6
    Dernier message: 14/04/2010, 09h41
  3. échelle de développement
    Par invited826eb2c dans le forum Psychologies (archives)
    Réponses: 0
    Dernier message: 04/06/2007, 08h08