Choisir un web framework est une grande étape dans la vie d'une startup. De plus, cela se passe dès sa création, et il est difficile de revenir en arrière. Mais comment ne pas se tromper, avec cette multitude de web frameworks sur le marché !
Certains vous diront de choisir Django car c'est le plus populaire, mais vu que vous lisez cet article, vous souhaitez probablement récolter plus de détails avant de prendre votre décision ultime !
Mais pourquoi Django est populaire ? Et pour quel type de projets est-il utilisé ? Essayons de comprendre pourquoi tant de développeurs web l'utilisent, et vous convaincre de faire de même !
Django, c'est quoi exactement ?
Django est un Python Web Framework qui permet de développer rapidement, tout en respectant les contraintes de sécurités et de maintenabilité d'un site internet. Construit par des développeurs chevronnés, Django vous enlève toutes les difficultés rencontres dans le web développement, et permet de vous focaliser sur l'écriture de votre application, sans avoir à réinventer la roue.
Parmi ces caractéristiques, on peut citer :
- Une syntaxe simple et en Python
- Contient son propre système de web serveur
- MVC (Model-View-Controller) architecture
- Un ORM puissant (Object Relational Mapper)
- Des librairies HTTP natives
- Un support natif pour du Middleware
- Un framework orienté Django pour écrire vos tests unitaires Python
Mais ces caractéristiques ne sont pas les raisons principales pour choisir un web framework.
Du coup, pourquoi choisir Django ?
On peut citer les trois plus grandes raisons que les développeurs choisissent Django, comparé a d'autres web frameworks comme Laravel:
- Un riche écosystème : En effet, on peut trouver une librairie Django, pour la majorité des besoins, comme insérer un chatbot avec ChatterBot, ou bien intégrer Stripe avec dj-stripe. Tout peut se trouver sur le site de Django packages : https://djangopackages.org/
- Un projet mature et une communauté active : Plus de 53 000 étoiles sur GitHub, maintenu depuis 2008. Chaque erreur que vous allez rencontrer sera référencé sur Stack Overflow. Cela nous fait gagner un temps fou.
- Un projet toujours actif : Il ne suffit pas d'exister depuis longtemps, une communauté toujours active derrière le projet est un facteur tout aussi important. Django déploie des mis a jours réguliers,
- Django admin !! Peut-être la raison numéro 1, mais les développeurs vous le cacheront probablement. C'est une interface utilisateur automatiquement générée par la définition vos classes
django.Models
et de ses attributs. Très utile si vous souhaitez avoir des pages web avec des formulaires en un temps record.
Ok, mais si je veux utiliser React ou Angular ?

Bonne nouvelle ! Django est en général utilisé pour la partie backend de votre web application. Libre à vous de choisir votre frontend framework préféré. Cher Dhaki, on a choisi React, à peu près pour les mêmes raisons que Django : grande communauté active, et un riche écosystème.
Comment React et Django peuvent communiquer ?

La communication entre Django est React (ou Angular, si vous êtes un fan Angular, oui il y en a quelques un !) peut se faire via API.
Coté client, on utilise la librairie Axios pour gérer nos requêtes HTTP. Elle est légère, et est supportée par quasi-totalité des navigateurs internets. Oui même Internet Explorer ! Choix facile jusqu’ici.
Et côté serveur, on utilise le concept de ViewSets pour définir la logique de ce que l'on doit renvoyer pour les requêtes HTTP, et avec l'aide du Django-Rest-Framework, on sérialise et désérialise le contenu des requêtes, en utiliser des serializers
La partie 1 de cet article est maintenant terminé. À suivre dans la partie 2 :
- L'utilisation de Django Admin
- Une liste de librairies pour booster en fonctionnalités votre projet Django
Et en attendant, vous pouvez apprendre à coder sur dhaki.fr, notre site web construit avec Django !