Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Django
  3. Les outils de développement
Extrait - Django Industrialisez vos développements Python
Extraits du livre
Django Industrialisez vos développements Python Revenir à la page d'achat du livre

Les outils de développement

Les outils de développement et les IDE

Dans ce chapitre, je ne traiterai pas de l’intérêt d’utiliser un IDE ou non, il existe une littérature abondante sur ce sujet et des débats sur Internet. Je ne ferai pas non plus une analyse exhaustive de tous les IDE Python Django existants. Je me limiterai simplement à deux outils que je connais et que j’utilise : un gratuit avec quelques plug-ins, Eclipse, et un payant, PyCharm. Les deux sont d’excellentes solutions.

Les fonctionnalités entre les deux produits sont globalement équivalentes sur les fonctionnalités classiques d’un IDE Python, avec un avantage à PyCharm, car il n’y a rien à configurer, il possède des outils puissants et est dédié à Python.

1. Eclipse et Pydev

Si vous pensez qu’Eclipse est un IDE Java, vous avez raison, mais ce n’est pas un IDE uniquement réservé à Java. Il peut être utilisé avec de nombreux langages de programmation tels que : C/C+, PHP ... et bien sûr, Python. Pour utiliser Eclipse avec un autre environnement que Java, il faut lui ajouter des plug-ins. Pour Django et Python le plus connu est le plug-in PyDev, provenant de l’IDE Python PyDev. Vous pourrez grâce à la combinaison des deux produits :

  • Créer des projets Django et travailler sur vos projets Django existants.

  • Déboguer vos projets dans l’IDE, en positionnant directement des points d’arrêt.

  • Bénéficier de nombreux autres outils (remise en forme du code...).

Important : Si vous ne connaissez pas du tout PyDev il serait préférable de lire le guide de configuration de PyDev à l’adresse suivante : http://pydev.org/manual_101_root.html

Prérequis

  • Java 7, JRE ou JDK

  • Python version 2.1 ou supérieure

  • Django

  • Eclipse version 3.8/4.3 ou supérieure

1 - Installer Eclipse sur le poste de travail

 Téléchargez Eclipse pour votre plateforme et suivez les instructions. Le lien de téléchargement est à l’adresse : https://www.eclipse.org/downloads/

 Vérifiez dans le menu Eclipse : Help - About - Installation - Details - Configuration que vous utilisez bien la version 7 de Java. Si ce n’est pas le cas, ajoutez l’option -vm au lancement d’Eclipse pour...

Les outils de mise au point

Cette section traite des outils de mise au point d’un projet Django. Les outils présentés ici sont de trois types : debug, profiling et coverage.

Les produits que nous allons décrire sont des produits « standalones », c’est-à-dire qu’ils s’utilisent seuls. Le plus souvent ce sont des produits accessibles en mode ligne de commande et/ou par la programmation. Ce chapitre n’est pas une documentation complète mais simplement une liste des différents produits utilisables. Pour vous guider, reportez-vous à la documentation du produit que vous utiliserez.

Pour ceux qui travaillent avec un IDE intégrant ces outils, une partie de ce chapitre n’a d’intérêt qu’à titre d’information. Il faut qu’ils se réfèrent de préférence à la documentation de leur IDE pour traiter ces différents points.

1. Les fichiers de log (traces d’exécution)

Pour la mise au point proprement dite, on utilisera les outils classiques : débogueur, etc. Mais il faut aussi pouvoir retracer l’origine d’un problème en production ; les fichiers de log servent à cela. Comme Python est livré « piles incluses » on trouve un module Python de gestion de fichiers de log qui est très complet (cf. https://docs.python.org/2/library/logging.html).

Django utilise ce module et sa configuration est intégrée au fichier settings.py. Il est important de connaître ce module et sa configuration, car il est souhaitable d’intégrer les logs de vos applications au système général. De nombreuses applications l’utilisent, c’est par exemple le cas du module django-profiler que nous allons voir un peu plus loin dans ce chapitre, et enfin c’est un outil de mise au point et de suivi de l’activité indispensable.

Le fichier settings.py contient la configuration par défaut suivante :


LOGGING = {  
    'version': 1,  
    'disable_existing_loggers': False,  
    'filters': {  
        'require_debug_false': {  
            '()': 'django.utils.log.RequireDebugFalse'...