Journal [dev] Python-Django, recherche d'outils d'aide au dev...

Posté par  .
Étiquettes : aucune
0
28
juil.
2008
Bonjour à tous,

je me lance en ce moment dans un projet de développement d'application web basée sur le framework Django lui-même basé sur Python.
J'en suis actuellement à la mise en place de l'infrastructure (SCM, bugtracker, wiki, mailing-lists...) ainsi que des différents outils pouvant être utiles : je pense en particulier
- à des outils pour vérifier le code : la syntaxe, mais aussi bugs possibles
- des outils de tests
- des outils de génération de doc
- des outils d'"intégration continue" (mais peut-être que ce concept regroupe les précédents...)

Voici ce que j'ai trouvé :
- vérification : pylint et pychecker, j'ai l'impression que ces 2 outils ne sont pas très récents, et du coup je me demande si ils sont encore valables pour les dernières version de python (2.4, 2.5) ou si d'autres outils ne sont pas apparus
- outils de tests : django possède son propre framework pour les tests, mais peut-être certains ont d'autres conseils à me donner
- doc : pydoc est le seul que j'ai trouvé
- intégration... ben là pas d'idée, je ne connais pas vraiment le sujet (c'est un des membres de l'équipe qui en parle, et il part sur maven pour ce boulot-là)

merci d'avance pour des conseils sur ce sujet (autres outils voire autre besoin que je n'aurais pas encore identifié)
  • # En résumé

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

    Pylint est un trés bon outil pour la vérification de ton code et pour respecter une cohérence avec la PEP 8 par exemple ( Python Enhancement Proposals qui fixe des conventions typographiques )

    Le framework de test de Django fait trés bien son travail et tu aura pas de framework qui puisse s'interfacer aussi bien pour les tests unitaires. Ceci dit si tu veut des tests fonctionnels pour le web d'autres outils existent (je ne les ai plus en tête)

    Pour ta documentation regarde comment les documentations de django ont été faites : Ce sont des document ReST ( ReStructured Text ) qui sont parfaitement lisibles tel quels mais qui le seront encore plus avec Sphinx ( http://sphinx.pocoo.org/ ) Cet outil transformera la documentation django en version html ou latex
    • [^] # Re: En résumé

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

      +1 pour sphinx, cet outil est vraiment formidable. Il est notamment utilisé pour générer la documentation du projet python lui meme (dans sa prochaine version) :

      http://docs.python.org/dev/
    • [^] # Re: En résumé

      Posté par  . Évalué à 1.

      concernant pylint, est-il plutôt conseillé de l'utiliser côté client (j'ai vu que par exemple pydev pour eclipse le permet) ou plutôt serveur.
      j'aimerais autant un outil côté serveur mais je préfère être certain que je ne vais pas saouler les developpeurs avec des messages ch***.
      j'imaginais un cron journalier qui parcourt tout le code et envoie un message sur une liste dédiée, est-ce envisageable ?

      concernant sphynx et rest, je n'ai pas réussi à trouver beaucoup d'informations et du coup j'ai du mal à comprendre ce qu'il fait et à partir de quoi.
      il génère de la doc à partir de la doc insérée dans le code (celle qu'on met entre """ pour expliquer le fonctionnement des méthodes par ex) ? ou bien il parcourt le code et génère une table des classes ?
      quelle syntaxe doit avoir la doc ?
      • [^] # Re: En résumé

        Posté par  . Évalué à 2.

        Je dirais

        -côté développeur pour un outil de versionnement décentralisé,
        -côté serveur de versionnement, dans le hook post commit pour un système centralisé.

        Le code est fait pour être relu certes, mais vaut mieux être prévenu de ses boulettes au moment où on vient de les faire, plutôt que de manière impersonnelle dans une liste de diffusion.
        (On n'est pas obligé de rejeter le commit, mais on peut dire ce que pylint en pense).

        Je suis un peu surpris que personne n'ait appuyé sur la distinction analyse statique vs dynamique encore (on est en Python, si j'ai bien compris, pas en Java canonique), mais si les trolls sont en vacances, je m'en réjouirai et m'abstiendrai d'une telle remarque.
    • [^] # Re: En résumé

      Posté par  . Évalué à 2.

      Ne pas oublier Epydoc (http://epydoc.sourceforge.net/ ) pour la documentation, qui donne un résultat proche de la Javadoc (avec frames), un exemple relativement simple : http://www.pyglet.org/doc/api/index.html
  • # cruisecontrol

    Posté par  . Évalué à 1.

    pour l'intégration continue il y a aussi cruisecontrol.
    Faut voir si il y a déjà quelque chose de fait pour intégrer les outils que tu cites, je sais que ça existe pour php.
    d'après ce que j'en ai vu c'est assez souple pour intégrer des outils externes.

Suivre le flux des commentaires

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