vendredi 6 mai 2016

Le pourquoi : Pourquoi programmer avec le frameworks Django ?

Depuis mon dernier article sur le python, je me suis mis a programmer avec Django sur mon site web.
La question que je me pose aujourd'hui, pourquoi le php est toujours la solution numéro 1 de développement web.


Qu'es ce que django ? Django est un framework très populaire permettant de créer des sites web à l'aide du langage Python. Ce framework est comparable aux frameworks Ruby on Rails et Symfony2. L'objectif de ces frameworks est de gérer les couches basses d'un site (sessions, sécurité, bases de données, caches ....) . Le principal objectif de ce frameworks est de proposer un développement efficace est rapide d'une application web. Voici un excellent site pour apprendre a programmer avec ce frameworks : openclassrooms.

Voici une petite vidéo montrant comment créer un blog en moins de 16 minutes avec django (par Arun Ravindran)



Plusieurs grands sites utilise ce framework comme la NASA, Mercedes Benz, le
, Le New York Times, des parties de Google.

Travaillant sur ce framework, il possède de grands avantages.

Quand on programme avec Django, on a réellement l'impression de programmer côté serveur. En effet, contrairement au php, du moins l'impression qu'il en découle lors de ça programmation, le php s'adapte à l'html alors qu'avec Django, on programme avant tout le serveur et le langage client s'adapte la dessus, et c'est vraiment agréable.

Le python est un langage puissant. En effet, il est disponible sur toutes les plateforme et la documentation est abondante, parfaitement aboutit et permet de s'adapter a d'autres langages comme le C ou le C++.

Django permet, dans sont objectif d'optimisation permet la modulation. Cla permet de décomposer les fonctionnalités du site en application. Dans le cas d'un blog, une application (article, espace utilisateur etc ...). Avec pour chaque application un gestionnaire de requêtes (views), permettant de créer des fonctions gérant chaque fonctionnalité de l'application (écriture d'article, modification, statistiques etc ...).

La gestion des urls et simplifier. L'utilisation la plus courante est la composition www.monsite/application/fonction. Cela est facilité et très simple à mettre en place grâce à la modulation de la gestion des urls (une gestion globale et une gestion par application).



La gestion des bases de données est vraiment simplifier. Il suffit de configurer les donner de connexion dans le fichier de configuration :
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
    'NAME': 'technopress',
        'USER': 'user',
        'PASSWORD': 'pass',
        'HOST': '127.0.0.1',
        'PORT': '',        
    }

Ensuite il suffit d'importer les modeles de tables sql de notre appication (ici un objet article):
"from articleManager.models import Article" et l’accès ce fait directement depuis la class  "Article".
En php cela nécessite de créer une class, de créer a chaque fois des requêtes et de gérer la lecture (boucle de lecture etc ...).

Pour continuer dans la gestion des bases de données, django optimise tout au niveau de la productivité. En effet, pour déployer sont site sur différentes plate-formes (travail en équipe etc ...), les modèles de tables sont enregistrer dans un fichier et peuvent être déployer facilement (pour chaque application) en effectuant une migration à l'aide du scribt manager de django.
Ce manager est l'outils principal permettant un gain de productivité. Ce manager permet de créer un projet, créer une application, mettre à jour la structure de la base de données, ajouter un super-utilisateur, enregistrer et compiler des traductions, etc ...


Pour conclure, Django est un frameworks très puissant permettant une optimisation de la productivité, facile à mettre en oeuvre. Il a un très belle avenir devant lui et je pense qu'il va de plus en plus être déployer sur nos sites web. A suivre.

Si vous avez des conseils a donner ou des critiques sur ma démarche, vous pouvez laisser un commentaire.
Pour suivre l'actu du blog, vous pouvez me suivre sur mon twitter ou sur ma page facebook.

Aucun commentaire:

Enregistrer un commentaire