lexplorateur De A à XYZ

DJANGO : Le Framework Web python pour les perfectionnistes

Bonjour bonjour…

Vous avez un projet à réaliser dans un temps record? Vous êtes un developpeur qui malgré le temps imparti tient à proposer un travail de bonne qualité? Vous souhaitez vous démarquez des développeurs web qui ne connaissent que le PHP? Vous devriez essayer Django.

J’ai recemment lu quelque part une phrase qui comparait symfony, php, python et django :

Symfony c’est sexy,

Python c’est sexy,

django c’est sexy,

et php … euh php est une réalité du marché

Alors c’est quoi Django?

Django est un framework open-source de développement web en Python. Il a pour but de rendre le développement web 2.0 simple et rapide. D’où le slogan « Le framework web pour les perfectionnistes sous pression ».

Django a été développé en 2003 pour le journal local de Lawrence (Kansas) et est publié sous licence BSD depuis juillet 2005.

Depuis , la Django Software Foundation s’occupe du développement et de la promotion du framework. En plus de cette promotion régulière, des conférences entre développeurs et utilisateurs de Django sont organisées deux fois par an depuis 2008. Nommées DjangoCon, une se déroule en Europe et l’autre aux États-Unis.

Plusieurs sites grand public sont désormais fondés sur le framework, dont Pinterest, Instagram ou encore Mozilla.

Euh…. Python?

 

Guido le soulignait il y a quelques temps, Python souffre un peu du manque de promotion.

Mais Python est un langage extrêmement puissant et ne cesse de gagner en popularité ces dernières années.

Courbe de popularité des langages de programmation - Python en nette progression
Courbe de popularité des langages de programmation – Python en nette progression

D’ailleurs l’index TIOBE de Juillet 2016 place Python en 4eme position derrière le Java, le C, le C++ et devant le PHP en 6ème position.

OK Python est un excellent langage de plus en plus populaire… mais pour le web????

Oui oui je vous entends d’ici. En effet, nombreux sont ceux qui pensent que PHP est (le seul) l’ultime langage pour qui veut faire du développement web.

Faux Faux et Faux. PHP est je l’avoue un langage très puissant pour faire du développement web mais ce n’est pas le seul, en marge de celui-ci, il existe une pléthore de langage utilisé pour du développement web. Entres autres JAVA, Ruby et … Python.

Pourquoi utiliser Django?

LA PHILOSOPHIE ET LE CODE

Python est plus épuré que PHP. Tout fonctionne à l’indentation. Vous vous êtes déjà retrouvés à vous arracher les cheveux parce que votre code PHP contenait une erreur??? Parce qu’un point virgule était absent? Parce qu’une accolade n’était pas fermé? Eh bien réjouissez-vous, terminés les points-virgules à la fin de chaque ligne, les accolades pour les boucles et conditions.

C’est tout de suite plus lisible. Pareil pour les objets ou les tableaux, ici on n’a pas les => que l’on retrouve sur PHP. Le nom des fonctions est aussi généralement plus simple.

code

Au final, coder en PHP et en Python pour arriver au même résultat relève d’une façon de penser complètement différente, ce qui peut paraître bizarre au début mais on gagne un temps fou, Je me retrouve du coup à coder pas mal de fonctionnalités en très peu de lignes de code, et c’est très plaisant.

LA BONNE PRATIQUE, LE PLAISIR DU CODE BIEN CODÉ

Python et Django sont intransigeant sur les bonnes pratiques, le fait de ne pas se répaéter (DRY = Don’t Repeat Yourself), l’utilisation du MVT (Modèle Vue Template), les tests unitaires (= le fait de coder une fonction qui va vérifier qu’une autre fonction fait bien son boulot), les migrations de base de données et l’utilisation d’un ORM (pour gérer les requêtes à la BDD). Tout cela contribue à obtenir un code sain, maintenable, facilement récupérable par un autre …

Ce qui m’a poussé à changer de langage c’est la présence de trop nombreux bidouilleurs PHP qui pensent pouvoir tout coder. Je me suis retrouvé souvent dans une position inconfortable de devoir retoucher du code d’un autre (que ce soit PHP pur ou même après utilisation d’un framework) et c’était bien souvent malheureusement très prenant et très frustrant.

LE FRAMEWORK PYTHON POUR LE WEB : DJANGO

C’est là que j’ai réellement vu la puissance et le potentiel de ce langage. Django est un framework qui va réunir toutes les bases pour développer une application web solide et pérenne.

Le Framework inclue tout ce qu’un bon framework peut proposer :

  • Bonne pratiques de développement : Modèle Vue Template (MVT)
  • Outils de sécurité (système anti XSS par exemple)
  • Système de template
  • Architecture de fichiers
  • Interface d’administration
  • Connexion / Inscription utilisateur
  • un ORM (= pas besoin de gérer des requêtes SQL dans la base de données)

L’ORM DJANGO

Pour récupérer et traiter des informations CRUD (Create Read Update Delete) c’est ultra simple et vous n’avez pas besoin de faire de requête de base de données SQL. Parfait car je suis allergique aux jointures ou autre relations SQL (d’où mon utilisation de Doctrine) Plus besoin de ça, vous pouvez récupérer ce que vous souhaitez ultra facilement sans avoir à trop réfléchir.

queries-django

L’INTERFACE D’ADMINISTRATION DJANGO

django-suit-scr1

C’est certainement l’un des points que j’ai le plus aimé avec Django. Django vous génère par ailleurs une interface d’administration à la volée (Bien sûr tout est configurable), plus besoin de le faire par vous même, tout est déjà fait.

Alors on devrait laisser tomber le PHP?

Je ne dis pas qu’il faudrait laisser tomber PHP. PHP est un excellent langage de programmation pour le web et il est d’ailleurs largement utilisé de par le monde, d’autant plus qu’il existe d’excellents framework PHP tels que Symfony et Laravel pour ne citer que ceux là.

Cependant PHP a beau être un excellent langage je vous invite fortement à essayer Python et son framework Django,

alors :

EST-CE QUE C’EST FACILE À APPRENDRE ?

Le langage en soit n’est pas très compliqué, il est logique, mais parfois vous devrez faire face à de nouveaux concepts qu’il faudra apprendre et ça fera fumer quelques neuronnes vers la fin de journée, mais une fois le concept assimilé il devient clair et limpide !

CA PREND DU TEMPS ?

Un langage ne s’apprend pas en 2 jours, cela dit j’étais capable de réaliser ma première application web par moi même en environ une semaine! Je vous recommanderais par ailleurs de faire un tour sur sur Stack Overflow et de lire le très bon cours d’Openclassrooms sur Django.

Ruby, Python, sont des langages considérés comme plus haut de gamme que PHP, et les développeurs maitrisant ces langages trouvent plus facilement des emplois dans les start-ups et j’ai vraiment la façon de coder mes applications web avec Django.

Commentaires

Malick Koné

Fan d'internet et de technologies ...

Suivez-nous

Ne soyez pas timide, entrez en contact. Nous aimons rencontrer des gens intéressants et nous faire de nouveaux amis.