Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Django (framework) — Wikipédia
Django (framework) — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur l’homonymie

Pour les articles homonymes, voir Django.

Django
Description de l'image Django logo.svg.
Description de cette image, également commentée ci-après
Page par défaut de Django.
Informations
Créateur Lawrence Journal-World (en)Voir et modifier les données sur Wikidata
Développé par Django Software Foundation
Première version 21 juillet 2005, (20 ans, 121 jours)
Dernière version 5.2.8 (5 novembre 2025)[1]Voir et modifier les données sur Wikidata
Dépôt https://github.com/django/django
État du projet En développement actif
Écrit en Python
Interface Interface webVoir et modifier les données sur Wikidata
Système d'exploitation Multiplateforme (d)Voir et modifier les données sur Wikidata
Langues Multilingue
Type Framework webVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence BSD 3-clausesVoir et modifier les données sur Wikidata
Documentation https://docs.djangoproject.com/en/dev/
Site web https://www.djangoproject.com/

modifier - modifier le code - voir Wikidata (aide)

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 juillet 2005.

Depuis juin 2008, 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 Instagram[2] au moins en 2011, Mozilla[3] ou encore Disqus et Clubhouse[4],[5].

Principes

[modifier | modifier le code]
Capture d'écran de l'interface d'administration.

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 :

  1. Un langage de gabarits flexible qui permet de générer du HTML, XML 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, elles 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'erreur 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 (intergiciel) qui peuvent être placées à des stades variés du traitement des requêtes pour intégrer des traitements particuliers (cache, internationalisation, accès…) ;
  • une prise en charge complète d'Unicode.

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.

Histoire

[modifier | modifier le code]

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)[6],[7],[8]. 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[8]. 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[8]. Le framework a été nommé ainsi en souvenir de Django Reinhardt, musicien de jazz[6],[7].

En 2005, l'agence de presse décide de publier le framework au public, sous la licence BSD[6]. C'est depuis cette ouverture que sa notoriété augmente. Il sera repris plus tard, en juin 2008 par la fondation Django Software[9] 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[10]. À partir de cette version, les mises à jour se stabilisent à une version majeure annuelle.

En juin 2015, 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[11]. À 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[11].

Historique des versions

[modifier | modifier le code]

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[12]. 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[13]. Un guide est publié pour permettre aux utilisateurs de migrer de Django 0.96 à 1.0[14].

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[15] :

  • Chaque nouvelle version majeure est numérotée 1.x.0, où x est incrémenté par rapport à la version précédente et apporte de nouvelles fonctionnalités et éventuellement des incompatibilités avec les versions précédentes ;
  • Des correctifs de sécurité et de bugs sont fournis sous la forme 1.x.y, sans ajouter de nouvelles fonctionnalités et se veut rétrocompatible.

En juin 2015, à 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[11]. 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[16]. 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[11],[17]. 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[18]. 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).

Forces et faiblesses de Django

[modifier | modifier le code]

Les forces

[modifier | modifier le code]
  • Les vues génériques : il s'agit de vues permettant de traiter les cas les plus courants du développement web de manière très simple. Elles permettent par exemple de lister des objets avec une gestion de la pagination, de lister des objets organisés par date avec des URL du type (année)/(mois)/(jour)/élément à afficher. Plus d'informations sont disponibles dans la documentation sur les vues génériques.
  • Le système d'authentification
  • La création de pages statiques
  • La documentation : Django possède une très bonne documentation en anglais, dont une partie, l'API stabilisée, est traduite en français[19]. Cette documentation, au format ReStructuredText (ReST), est compatible avec le projet Sphinx.
  • Les exceptions : les exceptions et backtraces Python sont bien gérées dans Django et apparaissent dans les pages d'erreur 500, en mode débogage. On peut avoir une bonne idée des variables d'environnement et du code ayant provoqué l'exception. Des efforts sont menés pour inclure d'autres outils comme la barre de débogage de Symfony (Django Debug Toolbar).
  • Compatibilités de base de données: Django offre une compatibilité directe avec les bases de données SQL telles que MySQL, SQLite ou Oracle. De plus, pour travailler avec d'autres bases de données telles que SQL Server ou MongoDB, des bibliothèques sont à la disposition de l'utilisateur[20].

Les faiblesses

[modifier | modifier le code]
  • L'AJAX : Django en tant que framework ne permet pas, seul, l'intégration d'AJAX côté client web. C'est un choix de l'équipe de développement qui préfère laisser à l'utilisateur le choix de la bibliothèque AJAX à combiner avec Django (MooTools, Prototype, MochiKit (en), jQuery, dojo, ext, etc.)[21].


Communauté

[modifier | modifier le code]

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.

DjangoCon

[modifier | modifier le code]

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 :

  • les conférences : pendant deux à trois jours, des bénévoles présentent un point particulier du framework, des usages spécifiques, un retour d'expérience, etc. ;
  • les sprints : les jours suivant les conférences, des sessions de programmation sont organisées, pour tous niveaux, afin de parfaire sa maîtrise du framework. Des tutoriels sont mis en place pour initier les nouveaux utilisateurs.

En Europe

[modifier | modifier le code]

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[22], 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[23]. 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[24].

Voir aussi

[modifier | modifier le code]

Sur les autres projets Wikimedia :

  • Django, sur Wikimedia Commons

Articles connexes

[modifier | modifier le code]
  • Python
  • Google App Engine, Zope
  • Modèle-Vue-Contrôleur
  • Django CMS
  • Django Girls

Liens externes

[modifier | modifier le code]
  • Site de la communauté francophone
  • Cours complet sur Django dispensé à l'université de Picardie Jules Verne
  • (en) « Popularité du paquet python-django »
  • (en) Django REST framework

Bibliographie

[modifier | modifier le code]
  • (en) The Definitive Guide to Django - 1re édition en décembre 2007, 2de édition en juillet 2009. Disponible en ligne sur djangobook.com.
  • (en) Daniel et Audrey Roy Greenfeld, Two Scoops of Django: Best Practices For Django 1.11 - juin 2017. Disponible en ligne sur https://www.twoscoopspress.com. (ISBN 978-0692915721)
  • (fr) Maxime Lorant et Mathieu Xhonneux, Développez votre site web avec le framework Django - 17 septembre 2015. Disponible en ligne sur Eyrolles. (EAN 9791090085992)

Notes et références

[modifier | modifier le code]
  1. ↑ « Release 5.2.8 », 5 novembre 2025 (consulté le 6 novembre 2025)
  2. ↑ What Powers Instagram: Hundreds of Instances, Dozens of Technologies
  3. ↑ Code source de mozilla.org
  4. ↑ (en-US) Matt Robenolt, « Scaling Django to 8 Billion Page Views », sur blog.disqus.com (consulté le 18 octobre 2024)
  5. ↑ (en) « Reining in the thundering herd ⛈ Getting to 80% CPU utilization with Django », sur Clubhouse Blog, 15 août 2021 (consulté le 18 octobre 2024)
  6. ↑ a b et c (en) « Introduction to Django : Django’s History », sur Django Book (consulté le 9 juillet 2015)
  7. ↑ a et b Maxime Lorant et Mathieu Xhonneux, « Créez vos applications web avec Django : Qu'est-ce que Django », sur openclassroom.com (consulté le 9 juillet 2015)
  8. ↑ a b et c (en) Karen Dillon, « Lawrence-born Django, which revolutionized website construction, celebrating its 10th anniversary », sur Lawrence Journal-World, 9 juillet 2015 (consulté le 9 juillet 2015)
  9. ↑ Announcing the Django Software Foundation, consulté le 13 août 2012
  10. ↑ Django 1.0 released!, consulté le 13 août 2012
  11. ↑ a b c et d (en) Tim Graham, « Django's Roadmap », sur djangoproject.com, 25 juin 2015 (consulté le 26 juin 2015)
  12. ↑ (en) « Django version 0.95 release notes », sur djangoproject.com, juillet 2006 (consulté le 26 juin 2015)
  13. ↑ (en) « 1.0 release notes », sur djangoproject.com (consulté le 26 juin 2015)
  14. ↑ (en) « 1.0 porting guide », sur djangoproject.com (consulté le 26 juin 2015)
  15. ↑ (en) « Django’s release process (Django 1.8) », sur djangoproject.com (consulté le 26 juin 2015)
  16. ↑ Long Term Support releases sur la page "Django’s release process"
  17. ↑ (en) « Django’s release process - Deprecation policy », sur djangoproject.com (consulté le 26 juin 2015)
  18. ↑ (en) « Micro releases sur la page « Django’s release process » », sur djangoproject.com
  19. ↑ « Django », sur Django Project (consulté le 22 avril 2023).
  20. ↑ https://developer.mozilla.org/fr/docs/Learn/Server-side/Django/development_environment Mettre en place un environnement de développement Django
  21. ↑ (en) Page traitant de AJAX sur le Wiki du projet
  22. ↑ Page Sponsorship du site officiel : « This event will be attended by over 300 Django developers from across the world. »
  23. ↑ (en) « Diversity », sur 2015.djangocon.eu (consulté le 25 février 2015)
  24. ↑ Ola Sitarska, « Announcing the results of Call for Speakers! », sur DjangoCon Europe, 25 janvier 2016 (consulté le 26 janvier 2015).
v · m
Python
Implémentation
  • CPython
  • IronPython
  • Jython
  • Numba
  • PyPy
  • Shed Skin
  • Stackless Python
Framework
  • CherryPy
  • Django
  • Flask
  • Mako
  • PyObjC (en)
  • Qt
    • PyQt
    • PySide
  • PyGTK
  • Scrapy
  • TurboGears
  • Web2py
IDE
  • Anjuta
  • IDLE
  • KDevelop
  • Komodo
  • Microsoft Visual Studio
  • PyCharm
  • Spyder
  • Visual Studio Code
Organisations
  • Python Software Foundation
  • Django Software Foundation
  • Django Girls
  • PyLadies
Autres
  • Python Software Foundation License
  • Pip
  • Liste de logiciels Python
  • Guido van Rossum
  • PyCon
  • PyPI
v · m
Frameworks web
Python
  • Django
  • Flask
  • Tornado (framework) (en)
  • Scrapy
  • Twisted
  • Web2py
  • CherryPy
  • Pyramid
  • TurboGears
PHP
  • Symfony
  • API Platform
  • Zend Framework
  • CodeIgniter
  • FuelPHP
  • Yii
  • CakePHP
  • QCodo
  • Laravel
  • Jelix
  • Agavi
  • Atomik
  • Copix
  • Kumbia PHP
  • PRADO
  • WebSite-PHP
  • Phalcon
Ruby
  • Ruby on Rails
  • Sinatra
  • Merb
Perl
  • Catalyst
  • Dancer
  • Mojolicious
Smalltalk Seaside
JavaScript
Côté serveur
  • Express.js
  • Meteor
Côté client
  • Angular
  • AngularJS
  • Backbone.js
  • Cappuccino
  • Dojo
  • Ember.js
  • Ext JS
  • Meteor
  • MooTools
  • Prototype
  • qooxdoo
  • React
  • script.aculo.us
  • YUI
  • Vue.js
  • Svelte
CSS
  • Blueprint
  • Frameworks d'interface
    • Bootstrap
    • Foundation
Java
  • Jakarta EE
  • Spring
  • Struts
  • Tapestry
  • Play
  • Stripes
  • ZK
  • Cocoon
  • GWT
  • Echo
  • AppFuse
  • Grails
  • RAP
  • Wicket
  • WebObjects
  • Vert.x
  • Quarkus
.NET
  • ASP.NET
  • ASP.NET AJAX
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des logiciels libres
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Django_(framework)&oldid=223721707 ».
Catégories :
  • Moteur de template
  • Framework web
  • Logiciel écrit en Python
Catégories cachées :
  • Image locale différente de celle de Wikidata
  • Page utilisant P170
  • Page utilisant P348
  • Page utilisant P1414
  • Page utilisant P306
  • Page utilisant P31
  • Page utilisant P275
  • Article utilisant une Infobox
  • Article contenant un appel à traduction en anglais
  • Catégorie Commons avec lien local identique sur Wikidata
  • Portail:Programmation informatique/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id