Django: Le framework web pour les perfectionnistes pressés

A LIRE AUSSI

  • Eh !! Boom Facebook s’offre WhatsApp
  • Regard sur le jeu vidéo africain
  • Que faire quand je serai grand?
  • Levé de voile sur le Moto X
  • Surface RT, Microsoft contre attaque….
Par -

Bonjour,

Aujourd’hui nous allons parler un peu de développement de logiciels plus précisément de développement WEB et essayer de partager une solution remarquable face aux problèmes du trio coût-qualité-délai,  véritable casse-têtes pour les chefs de projet, cauchemar pour les développeurs.C’est une solution qui vous permet d’aller vite et de produire des applications de qualité, elle est née sous le signe du Python, mesdames et messieurs je vous présente Django, le framework Web pour les perfectionnistes… :-D

Trêve de bavardages,entrons dans le vif du sujet….

Pourquoi utiliserait-on  un framework web ?

La réalisation d’une application web implique en effet de nombreuses taches rébarbatives.
Il s’agit de:

  • créer une architecture de base
  • réalisation et implémentation du design
  • implémentation des différents modulesenvoyer des emails
    • création des tables
    • écriture de la couche d’accès aux données
    • écriture des modèles
    • écriture des contrôleurs
    • écriture des formulaires d’ajout/modification/suppression
      • validation des données
      • affiche de messages d’erreur
  • faire l’interface d’administration
  • gérer les utilisateurs et  la sécurité
  • faire les tests

Toutes ses tâches sont redondantes  dans la majorité des applications web de base de données. Il est nécessaire à un moment donné d’automatiser ces tâches afin de partir directement à l’essentiel, c’est à dire réaliser les 20% qui feront que notre application soit spécifique.
C’est la qu’intervient la notion de framework, qui est un ensemble d’outils pour automatiser  une partie des tâches dans le process de développement … Et django fait parti de ces frameworks de developpement web :-)

Caractéristiques de Django….

Django est un framework qui s’inspire du principe MVC ou MTV (la vue est gérée par un template) composé de 3 parties distinctes :

  1. Un langage de template flexible qui permet de générer du HTMLXML ou tout autre format texte ;
  2. Un contrôleur fourni sous la forme d’un “remapping” d’URL à base d’expressions rationnelles ;
  3. Une API d’accès aux données est automatiquement générée par le framework compatible CRUD. Inutile d’écrire des requêtes SQL associées à des formulaires, les requêtes SQL sont générées automatiquement par l’ORM.

En plus de l’API d’accès aux données, une interface d’administration fonctionnelle est générée depuis le modèle de données. Un système de validation des données entrées par l’utilisateur est également disponible et permet d’afficher des messages d’erreurs automatiques.

Sont également inclus :

  • un serveur web léger permettant de développer et tester ses applications en temps réel sans déploiement ;
  • un système élaboré de traitement des formulaires muni de widgets permettant d’interagir entre du HTML et une base de données. De nombreuses possibilités de contrôles et de traitements sont fournies ;
  • un framework de cache web pouvant utiliser différentes méthodes (MemCached, système de fichier, base de données, personnalisé) ;
  • le support de classes intermédiaires (middleware) qui peuvent être placées à des stades variés du traitement des requêtes pour intégrer des traitements particuliers (cache, internationalisation, accès…) ;
  • un support complet d’Unicode.

Pourquoi Django et pas un autre ?

Il existe une large panoplie de langages de programmation et la plupart propose des frameworks de developpement web. Dans ce cadre pourquoi utiliser django et pas un autre ?

Voici une question à laquelle chacun a sa réponse ; d’ailleurs, tout le monde n’utilise pas Django. Vous êtes complètement libre de votre choix.
Nous sommes nombreux à avoir choisi Django pour plusieurs raisons.

  • La simplicité d’apprentissage de l’outil.
  • La qualité des applications réalisées.
  • La rapidité de développement.
  • La sécurité du site Internet final.
  • La facilité de maintenance des applications .


En plus, django est basé sur Python un langage de programmation:

  • moderne
  • orienté objet
  • très populaire
  • possédant une forte communauté derrière.


La particuliraté de Python est quelle impose un même style de coding pour toutes ses applications. Django ayant hérité de ces spécificités, il bénificie d’une clarté permettant à de nombreux développeurs de travailler sur le même projet.

En comparaison avec le PHP, on se rend compte qu’il existe de nombreuses manières de faire. On peut placer des morceaux de codes PHP au milieu de pages HTML (une solution assez mal organisée), ou encore utiliser un moteur de templates pour séparer le code du HTML.
En Python/Django, tout est mis en place pour ne pouvoir faire que ce qui est bien, et ce dès le début de l’apprentissage.

Voici une liste non exhaustive d’applications web fait en Python/Django et de sociétés célébres les utilisant:

 

sources:

http://fr.wikipedia.org/wiki/Django_(framework)

http://www.siteduzero.com/tutoriel-3-353617-django-le-framework-web-python.html

Mon expérience personnelle

 

moustapha.sy

moustapha.sy

Ingénieur développeur, DBA et auditeur de sécurité, je suis passionné de mangas et de technologies, toujours soif d'apprendre.
  • Bocar SY

    Je kiff django. mais j’aurais jamais imaginé que pinterest et instagram étaient des produits de django

    • moustapha.sy

      eh oui de nombreux grands sites notamment les journaux américains utilisent une base Django, c est un framework mûr :-)

  • sheikhu lee

    Je crois que je suis enfin convaincu pour me lancer dans le dev d’applications avec Django !! je ne trouvais pas quelque chose qui pouvait me convaincre c’est pourquoi je m’était lancé dans d’autres framework php comme Symfony ou CodeIgniter…. Merci ..
    Vivement un Django vs Rails