Journal Notations et Django

Posté par  (site web personnel) .
Étiquettes : aucune
4
27
mai
2009
Bonjour,

Je développe un site sous Django et j'ai eu envie d'un système de gestion des comptes tout à moi. Django étant très souple cela a été assez facile à faire.

Cependant, ou Django est un rhétoricien redoutable, ou il est un parfait crétin mais il a réussi à me perdre là. Trop de vues, trop de templates et surtout trop de cas.

Ni une ni deux, je prends un papier et un crayon afin de mettre tout cela dans un schéma. Dix minutes après, je lâche le crayon et jette le papier pour utiliser Inkscape. Au final j'obtiens un schéma plutôt clair (en tout cas pour moi) et qui est maintenant un très bon support pour les évolutions ou pour comprendre ce qui ne va pas.

Bref, le sujet principal de ce journal est la notation. Pour ce schéma j'ai utilisé une notation instinctive bien à moi, et surtout (c'est mal) sans regarder ce qu'il se fait ailleurs.

Vous pouvez consulter le schéma en question ici (c'est de la forme dont il est question, car le fond est incomplet) : http://www.pyrollo.com/public/accounts.pdf

Et vous, utilisateurs de Django (ou autre framework web équivalent), utilisez-vous une notation pour cartographier votre travail ? Si oui, laquelle ? Sinon, comment faites vous pour ne pas vous perdre ?
  • # Unified Modeling Language

    Posté par  (site web personnel) . Évalué à 8.

    J'ai l'impression qu'UML réponds à ton besoin http://fr.wikipedia.org/wiki/Unified_Modeling_Language

    Pour faire des diagrammes UML, j'aime bien UMLet http://www.umlet.com/

    Si ton code est propre, tests unitaires à l'appui, des outils permettent de générer les diagrammes de classes à partir du code. Avec Ruby On Rails j'ai déjà utilisé RailRoad, je suppose qu'il y a des équivalents en Python / Django.
    • [^] # Re: Unified Modeling Language

      Posté par  . Évalué à 2.

      Il a l'air sympa ce petit programme ...

      J'ai utilisé dia pour faire de l'UML, si tu l'as aussi essayé, pourrais tu me dire ce que tu y trouves de mieux ?

      J'avoue, le temps me manque actuellement pour le tester ...
      • [^] # Re: Unified Modeling Language

        Posté par  (site web personnel) . Évalué à 1.

        Dans les autres programmes spécialisés dans l'UML (Together, ArgoUML, ModelMaker, ...), on a des boutons et popups partout, l'impression d'usine à gaz est là (il y a aussi le fait que ces outils travaillent près du code).

        UMLet est sobre et cette façon un peu Wiki de créer les diagrammes permet d'aller très vite (beaucoup moins de clic de souris dans tous les sens). En plus UMLet sauvegarde en format texte ce qui facilite l'intégration avec un système de contrôle de version.

        Dia est sympa mais d'une part manque cruellement de symboles UML (ce n'est pas un outil spécialisé), d'autre part on retombe dans les popups et on est plus lent que sous UMLet.

        UMLet se prends très vite en main, les étudiants que j'ai en cours sont capables de faire leurs diagrammes de classe seuls au bout de 15 mn.
  • # Quel merveilleux outil qu'est Django !

    Posté par  (site web personnel) . Évalué à 5.

    Il existe des outils tout faits pour générer les graphes des modèles. En particulier dans Django Command Extensions : http://code.google.com/p/django-command-extensions/ . Il suffit de récupérer le svn, de le déclarer dans le settings.py et de taper ./manage.py graph_models [modèles], comme indiqué dans l'aide, ça génère un magnifique .dot à convertir en png, par exemple.
    • [^] # Re: Quel merveilleux outil qu'est Django !

      Posté par  (site web personnel) . Évalué à 2.

      C'est vrai que c'est un outil merveilleux.

      Mais, d'une part, il ne s'agit là que de représentation des modèles et pour ma part, je n'ai aucun problème de complexité avec les modèles (en fait j'ai une solide expérience en bases de données, ça aide).

      D'autre part, j'ai un peu de mal avec la génération automatique de schéma. En effet, je pense qu'un bon schéma est un schéma non systématique. En effet, le schéma est destiné à représenter le problème aux humains alors que le code est destiné aux machines. Un bon schéma doit donc, à mon avis, faire quelques impasses et comporter quelques imprécisions pour améliorer sa lisibilité.
  • # j'aime beaucoup

    Posté par  (site web personnel) . Évalué à 3.

    j'aime beaucoup tes diagrames, ils sont très clairs.
    je fais générallement, peu ou prou, la même chose.

    sinon, je ne savais pas que django était capable d'en générer (cf post plus haut), bluffé !
    faut vraiment que je test django en profondeur ... j'ai essayé par deux fois, mais suis toujours revenu à webpy (ou equivalent, car j'ai fini par faire le mien)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.