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…

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 :
- Un langage de template flexible qui permet de générer du HTML, XML ou tout autre format texte ;
- Un contrôleur fourni sous la forme d’un “remapping” d’URL à base d’expressions rationnelles ;
- 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





