Créateur | Lawrence Journal-World (en) |
---|---|
Développé par | Django Software Foundation |
Première version | , 19 ans |
Dernière version | 5.0.7 ()[1] |
Dépôt | https://github.com/django/django |
État du projet | En développement actif |
Écrit en | Python |
Interface | Interface web |
Système d'exploitation | Multiplateforme |
Langues | Multilingue |
Type | Framework web |
Politique de distribution | Gratuit |
Licence | BSD 3-clauses |
Documentation | https://docs.djangoproject.com/en/dev/ |
Site web | https://www.djangoproject.com/ |
Django est un framework web open source en Python. Il a pour but de rendre le développement d'applications web simple et basé sur la réutilisation de code. Développé en 2003 pour le journal local de Lawrence (État du Kansas, aux États-Unis), Django a été publié sous licence BSD à partir de .
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 Django, dont Pinterest[réf. souhaitée] et Instagram[2] au moins en 2011 ou encore Mozilla[3].
Django est un framework qui s'inspire du principe MVC ou MTV (la vue est gérée par un gabarit) composé de trois parties distinctes :
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'erreur automatiques.
Sont également inclus :
Django peut être considéré comme une boîte à outils où chaque module peut fonctionner de façon indépendante.
Un exemple de cette modularité est la plate-forme de développement Google App Engine, où l'ORM de base a été remplacé par une API sur les BigTable de Google. Guido Van Rossum, le créateur du langage Python, a activement participé à cette plate-forme.
Le framework a été originellement développé pour un journal local de la ville de Lawrence, dans le Kansas, à partir de 2003, par Adrian Holovaty et Simon Willison (en)[4],[5],[6]. L'idée d'origine du framework était de permettre de développer des sites web complets, interfacés avec une base de données, dans un laps de temps très court[6]. Le but de Django à l'origine est de répondre aux contraintes des journalistes : l'administration générée par le framework permet ainsi un développement aisé de fonctionnalités axé « contenu ». Le framework se voulait également accessible, afin d'éviter le recrutement d'experts en développement pour les journaux[6]. Le framework a été nommé ainsi en souvenir de Django Reinhardt, musicien de jazz[4],[5].
En 2005, l'agence de presse décide de publier le framework au public, sous la licence BSD[4]. C'est depuis cette ouverture que sa notoriété augmente. Il sera repris plus tard, en par la fondation Django Software[7] qui maintient encore aujourd'hui la communauté et le développement du framework. À la suite de cette reprise, la version 1.0 du framework sort quelques mois plus tard[8]. À partir de cette version, les mises à jour se stabilisent à une version majeure annuelle.
En , une politique de publication est mise au point, pour sortir une nouvelle version tous les huit mois, et une version avec un support étendu tous les deux ans[9]. À cette occasion, il est annoncé que le support de Python 2 ne serait probablement assuré que jusqu'à la version 1.11, qui sera la dernière de la branche 1.x[9].
Après la mise à disposition public par le journal Lawrence, le développement open-source de Django commence à la version 0.90. Les premières versions sont numérotés jusqu'à 0.96 et ont pour but de stabiliser l'interface de programmation principale, et chaque version apporte donc de nombreuses modifications dans la façon d'utiliser le framework[10]. La sortie de la version 1.0 marque le début de la maturité du framework, avec une interface qui se veut compatible avec les versions futures[11]. Un guide est publié pour permettre aux utilisateurs de migrer de Django 0.96 à 1.0[12].
Pendant le développement de la branche « Django 1.x », le cycle de développement n'a pas de rythme défini mais respecte la convention de nommage de version suivante[13] :
En , à la suite d'un sondage et des discussions entre développeurs, une feuille de route est formalisée, avec un rythme de publication facilitant la maintenance des projets et des applications tierces[9]. Une nouvelle version du framework est désormais publiée tous les huit mois, avec une long term support (LTS) tous les trois versions, c'est-à-dire tous les deux ans. Ces versions bénéficient de mises à jour de sécurité pendant une période d'au moins trois ans[14]. La numérotation des versions est par conséquent revue, permettant une maintenance plus aisée pour les utilisateurs du framework : la version suivant une LTS entraînera la suppression des éléments dépréciés depuis la précédente LTS et commencera un nouveau cycle de version majeure[9],[15]. Ainsi, à partir de Django 2.0, les versions seront 2.1, 2.2 LTS, 3.0, 3.1, 3.2 LTS, etc.
Chacune de ces versions est, ou a été, mise à jour durant son support, via des micro-releases[16]. Par exemple, la version 1.2 a eu sept mises à jour, corrigeant de nombreux bugs et failles de sécurité. Ces versions n'ajoutent pas de fonctionnalités et garantissent une compatibilité identique à la version mineure associée (sauf cas particuliers).
Plusieurs organisations gravitent autour du framework afin d'aider les utilisateurs à le prendre en main. Il existe notamment les DjangoCon, événement composé de conférences et d'ateliers autour du framework, mais également des associations afin d'attirer les personnes rarement impliquées dans l'informatique. C'est le cas de Django Girls, qui invite les femmes à venir s'initier à Django et au Python de manière générale.
Des conférences sont tenues tous les ans pour les développeurs et utilisateurs de Django, appelées « DjangoCon ». Des événements distincts ont lieu aux États-Unis et en Europe. Ces événements sont composés de plusieurs parties :
Le lieu de l'événement change chaque année, afin de pouvoir toucher le maximum de personnes sur plusieurs années. Des aides sont également fournies pour les personnes en difficulté financière, voulant tout de même participer, grâce aux dons des entreprises partenaires de l'événement ainsi que des autres participants. Regroupant plus de 300 développeurs tous les ans[20], l'événement accueille aussi bien des Européens que des personnes des autres continents.
À partir de 2015, les DjangoCon Europe mettent l'accent sur la diversité, en incitant les personnes minoritaires dans le domaine de l'informatique (femmes, personnes en situation de handicap, personnes âgées) à venir participer et partager leurs connaissances[21]. Pour son édition de 2016, l'organisation se targue d'avoir reçu 48 % de propositions de conférences venant de femmes et qu'après sélection 54 % des conférenciers seront des femmes[22].