Django et MCD

a marqué ce sujet comme résolu.

Salut,

J’utilise Django depuis quelques temps déjà, et j’aimerai résoudre un problème concernant la conception des bases de données.

Lorsqu’on travaille en PHP avec symfony, on dispose de tas de programme comme powerAMC ou Skipper que j’ai pas mal utilisé et qui génère automatiquement les classes php.

Pour Django on ne trouve rien. La plupart du temps on utilise python-graphiz pour générer un graphe après avoir écrit les classes…

j’aurai voulu savoir comment vous procédez, surtout lorsque l’appli à concevoir va avoir une taille c onséquente… ?

+0 -0

Si je comprends bien ce sont des logiciels pour représenter graphiquement les modèles ?

Ça me semble assez peu utile vu que l’ORM de Django permet de définir facilement le modèle de donnée. Donc perso je ne sais pas si ça existe, j’en ai jamais eu besoin en fait.

Oui c’est ça. L’ORM de Django est cool, mais lors de la conception d’une grosse appli, tu n’as pas de vue d’ensemble. Enfin, perso, j’en reviens à imprimer les graphes avec pygraphviz, les imprimer pour les gribouiller… du coup, autant le faire directement dans un logiciel qui produirait les classes en python comme ça se fait normalement.

Image utilisateur
+0 -0

Ouai mais non, c’est du pipi de chat tout ça… rien de sérieux… c’est des solutions d’accumulation de bidouillages dont la plupart font le diagramme après avoir écrit le code…

Tu sais, j’ai pas posté ici pour qu’on me donne la première réponse de google, j’aimerai l’avis de gens qui bossent avec django, comme je l’ai expliqué dès mon premier post. (je viens d’éditer pour mettre en gras)

+0 -2

Bin je ne sais pas quoi te répondre. Je bosse sur une app Django conséquente dans le cadre de mon taf, zds aussi est assez conséquent et utilise Django, et dans les deux cas j’ai jamais ressenti le besoin de passer par un outils graphique pour concevoir le modèle de données.

Je touche assez peu au code de zds mais au boulot, il y a pleins de modèles définit dans plusieurs sous-applications qui sont dépendantes les unes des autres. C’est bien organisé pour pas avoir de référence circulaire. Le système tourne et on a jamais eu besoin ou l’idée ou l’envie de passer par un outils graphique pour gérer ça.

Donc en fait c’est difficile de te répondre. Je pense que la majorité des gens avec Django n’utilisent pas ces outils graphiques car :

  • soit parce qu’ils ne savent pas que ça existe,
  • soit n’en voient pas l’intéret.

(ou les deux à la fois, c’est mon cas).

A quel moment tu trouve ça utile/pratique ?

Je comprends ce que tu veux dire, en effet, les quelques petites appli django que j’ai écrites pour tester ne m’ont pas créé de besoin de ce genre.

Mais, de mon expérience symfony, où je n’ai pas toujours utilisé ce genre d’application, m’ont permis de constater un réel gain de temps (sur des grosses applications)

  • ça formalise l’application avant de taper du code et évite de naviguer entre des tas de fichiers lors de la conception de la basse de données.
  • on crée donc la structure de l’application sous une abstraction visuelle, plutôt qu’en tapant du code. Grâce à cette vue globale, on remarque beaucoup plus tôt s’il est préférable de créer des classes mère et de gérer au plus tôt des héritages.
  • Les modifications de la base de données sont faites sur le diagramme, qui régénère les classes (modèles), il n’y a plus qu’à mettre à jour la base de données.
  • Si l’on fait une erreur dans le diagramme sur le nom d’une entité ou d’un attribut, une correction permet de corriger l’erreur à tous les modèles impliqués dans le code.
  • moins on écrit de code à la main, moins il y a de chance d’avoir des erreurs de frappe.

Enfin, c’est ce qui me vient à l’esprit là, sans doute qu’au cours d’un développement j’en trouverais d’autres.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte