{"id":660417,"date":"2025-11-19T17:12:27","date_gmt":"2025-11-19T16:12:27","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=pycharm&#038;p=660417"},"modified":"2025-11-19T17:12:31","modified_gmt":"2025-11-19T16:12:31","slug":"l-etat-de-django-2025","status":"publish","type":"pycharm","link":"https:\/\/blog.jetbrains.com\/fr\/pycharm\/2025\/11\/l-etat-de-django-2025\/","title":{"rendered":"L&#8217;\u00c9tat de Django 2025"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-660431 size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/11\/django_fr-fr.png\" alt=\"\" width=\"1280\" height=\"720\" \/><\/figure>\n<p>Bienvenue dans cet article consacr\u00e9 aux points \u00e0 retenir et aux principaux enseignements de <a href=\"https:\/\/lp.jetbrains.com\/django-developer-survey-2025\/\" target=\"_blank\" rel=\"noopener\">l&#8217;enqu\u00eate r\u00e9cemment men\u00e9e aupr\u00e8s des d\u00e9veloppeurs Django<\/a>. Pour la quatri\u00e8me ann\u00e9e cons\u00e9cutive, cette enqu\u00eate compilant les r\u00e9ponses de plus de 4 600 d\u00e9veloppeurs Django dans le monde est le fruit d&#8217;une collaboration entre la <a href=\"https:\/\/www.djangoproject.com\/foundation\/\" target=\"_blank\" rel=\"noopener\">Django Software Foundation<\/a> et l&#8217;\u00e9quipe <a href=\"https:\/\/www.jetbrains.com\/fr-fr\/pycharm\/web-development\/django\/\" target=\"_blank\" rel=\"noopener\">PyCharm<\/a> . Si vous travaillez avec Python et le web en g\u00e9n\u00e9ral, il y a beaucoup \u00e0 apprendre de l&#8217;\u00e9volution de l&#8217;\u00e9cosyst\u00e8me dynamique de Django.<\/p>\n<p>Je suis Will Vincent et je contribue depuis longtemps \u00e0 la communaut\u00e9 Django. Je suis \u00e9galement <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/01\/python-developer-advocate-will-vincent\/\"> Developer Advocate pour PyCharm<\/a>. Depuis six ans, je co-\u00e9cris la <a href=\"https:\/\/django-news.com\" target=\"_blank\" rel=\"noopener\">newsletter Django News<\/a> avec <a href=\"https:\/\/jefftriplett.com\/about\/\" target=\"_blank\" rel=\"noopener\">Jeff Triplett<\/a> et co-anime le <a href=\"https:\/\/djangochat.com\/\" target=\"_blank\" rel=\"noopener\">podcast Django Chat<\/a> avec <a href=\"https:\/\/noumenal.es\/\" target=\"_blank\" rel=\"noopener\">Carlton Gibson<\/a>. Nos contenus abordent de nombreux sujets, notamment en ce qui concerne les packages et les contributeurs de la communaut\u00e9.<\/p>\n<p>Django f\u00eate son <a href=\"https:\/\/www.djangoproject.com\/weblog\/2025\/jul\/13\/happy-20th-birthday-django\/\" target=\"_blank\" rel=\"noopener\">20e anniversaire<\/a> cette ann\u00e9e et se porte plut\u00f4t bien compte tenu de son niveau de maturit\u00e9. Les modifications qui rompent la compatibilit\u00e9 ascendante sont extr\u00eamement rares, m\u00eame avec de nouvelles versions (5.2, 6.0, 6.1, etc.) publi\u00e9es tous les huit mois, des dizaines de requ\u00eates d&#8217;extraction sont int\u00e9gr\u00e9es au noyau via des fusions chaque semaine, et la communaut\u00e9 mondiale est plus forte que jamais.<\/p>\n<p>Cet \u00e9cosyst\u00e8me florissant existe gr\u00e2ce au travail constant des mainteneurs, r\u00e9viseurs et mentors de Django. Chaque ann\u00e9e, PyCharm joint ses efforts \u00e0 ceux de la Django Software Foundation pour soutenir ce travail via la collecte de fonds pour Django.<\/p>\n<p>Une derni\u00e8re remarque avant d&#8217;analyser les r\u00e9sultats de l&#8217;enqu\u00eate : bien qu&#8217;il soit utilis\u00e9 par des millions de d\u00e9veloppeurs et quelques-unes des plus grandes entreprises mondiales, Django lui-m\u00eame ignore en grande partie l&#8217;\u00e9tendue de son utilisation r\u00e9elle dans le monde. Aucun outil de suivi analytique n&#8217;est disponible sur le <a href=\"https:\/\/djangoproject.com\" target=\"_blank\" rel=\"noopener\">site web officiel de Django<\/a> et hormis les <a href=\"https:\/\/pypistats.org\/packages\/django\" target=\"_blank\" rel=\"noopener\">statistiques de PyPI<\/a>, il n&#8217;y a pas de mesure concr\u00e8te des t\u00e9l\u00e9chargements.<\/p>\n<p>Pour la communaut\u00e9, cette enqu\u00eate est donc devenue l&#8217;un des principaux moyens de comprendre l&#8217;utilisation actuelle de Django. Ces derni\u00e8res ann\u00e9es, les r\u00e9sultats de ces enqu\u00eates ont conduit \u00e0 la prise en charge officielle du <a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/releases\/4.0\/#redis-cache-backend\" target=\"_blank\" rel=\"noopener\">backend de cache Redis<\/a> dans Django 4.0. Plus r\u00e9cemment, MongoDB a connu une forte croissance et la publication d&#8217;un package officiel <a href=\"https:\/\/github.com\/mongodb\/django-mongodb-backend\" target=\"_blank\" rel=\"noopener\">django-mongodb-backend<\/a> a \u00e9t\u00e9 prioris\u00e9e et lanc\u00e9e pour la premi\u00e8re fois cette ann\u00e9e.<\/p>\n<p>En r\u00e9sum\u00e9, cette enqu\u00eate est essentielle et nous apporte le meilleur aper\u00e7u possible des tendances d&#8217;utilisation r\u00e9elles et des fonctionnalit\u00e9s attendues par la communaut\u00e9 Django.<\/p>\n<h2 class=\"wp-block-heading\">Tendances cl\u00e9s pour Django en 2025<\/h2>\n<p>Nous allons examiner les tendances notables et parfois surprenantes que r\u00e9v\u00e8le l&#8217;enqu\u00eate sur Django cette ann\u00e9e.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-651852\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/image-20.png\" alt=\"Tendances cl\u00e9s de Django en 2025\" \/><\/figure>\n<h2 class=\"wp-block-heading\">HTMX + Alpine.js ont le vent en poupe<\/h2>\n<p>React et jQuery restent les deux frameworks JavaScript les plus populaires pour une utilisation conjointe avec Django, mais HTMX et Alpine.js poursuivent leur progression. Ces technologies privil\u00e9gient une approche bas\u00e9e sur des templates rendus c\u00f4t\u00e9 serveur et une touche d&#8217;interactivit\u00e9.<\/p>\n<p>Il y a vingt ans, lors de la publication de la premi\u00e8re version de Django, les applications monopages (SPA) \u00e9taient rares. La plupart des sites web reposaient sur une approche <a href=\"https:\/\/en.wikipedia.org\/wiki\/Hypermedia\" target=\"_blank\" rel=\"noopener\">hyperm\u00e9dia<\/a> des templates rendus c\u00f4t\u00e9 serveur. L&#8217;introduction de <a href=\"https:\/\/jquery.com\/\" target=\"_blank\" rel=\"noopener\">jQuery<\/a> en 2006 a permis d&#8217;inclure par petites touches l&#8217;interactivit\u00e9 propre \u00e0 JavaScript, sans avoir \u00e0 devenir un expert de JavaScript.<\/p>\n<p>Dix ans plus tard, de nombreux frameworks web, dont Django, assurent le fonctionnement des backends d&#8217;API RESTful consomm\u00e9s par des frontends JavaScript, tels que React, Angular et Vue.<\/p>\n<p>Mais depuis les d\u00e9buts de l&#8217;enqu\u00eate Django en 2021, le balancier est revenu vers des templates c\u00f4t\u00e9 serveur. L&#8217;utilisation de HTMX a progress\u00e9 de 5\u00a0% en 2021 \u00e0 24\u00a0%, tandis que celle d&#8217;Alpine.js est pass\u00e9e de 3\u00a0% \u00e0 14\u00a0%. Au m\u00eame moment, React et jQuery poursuivent leur d\u00e9clin, de 37\u00a0% en 2021 \u00e0 32\u00a0% pour React et \u00e0 26\u00a0% pour jQuery. Il est int\u00e9ressant de noter que Vue, le troisi\u00e8me framework JavaScript en termes de popularit\u00e9, a \u00e9galement d\u00e9clin\u00e9 au cours de cette p\u00e9riode, passant de 28\u00a0% \u00e0 17\u00a0%.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651899\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/1.png\" alt=\"Frameworks JavaScript les plus populaires pour Django\" width=\"1200\" height=\"1108\" \/><\/figure>\n<p>La sortie imminente de Django 6.0 prendra en charge officiellement les <a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/releases\/6.0\/#template-partials\" target=\"_blank\" rel=\"noopener\">template partials<\/a>, ce qui devrait faire de la combinaison HTMX\/Alpine.js une valeur s\u00fbre de remplacement pour les d\u00e9veloppeurs. La publication de cette nouvelle fonctionnalit\u00e9 est tr\u00e8s r\u00e9v\u00e9latrice de l&#8217;un des points forts de l&#8217;\u00e9cosyst\u00e8me Django, \u00e0 savoir un pool de plusieurs milliers de <a href=\"https:\/\/djangopackages.org\/\" target=\"_blank\" rel=\"noopener\">paquets tiers<\/a>. Certains ont fini par \u00eatre int\u00e9gr\u00e9s \u00e0 Django, comme celui-ci, en commen\u00e7ant sous la forme <a href=\"https:\/\/github.com\/carltongibson\/django-template-partials\" target=\"_blank\" rel=\"noopener\">django-template-partials<\/a> par Carlton Gibson, puis en \u00e9tant fusionn\u00e9 dans la version principale par Farhan Ali Raza au cours de son programme <a href=\"https:\/\/summerofcode.withgoogle.com\/programs\/2025\/projects\/YqdTk30V\" target=\"_blank\" rel=\"noopener\">Google Summer of Code<\/a> de cette ann\u00e9e.<\/p>\n<p>Qu&#8217;est-ce que cela signifie pour Django ? La maturit\u00e9 et l\u2019\u00e9volution constante de Django se refl\u00e8tent dans sa capacit\u00e9 \u00e0 prendre en charge diff\u00e9rents mod\u00e8les frontend en d\u00e9veloppement web : des backends d\u2019API avec <a href=\"https:\/\/www.django-rest-framework.org\/\" target=\"_blank\" rel=\"noopener\">django-rest-framework<\/a> ou <a href=\"https:\/\/django-ninja.dev\/\" target=\"_blank\" rel=\"noopener\">django-ninja<\/a> pour ceux qui privil\u00e9gient une architecture SPA, ainsi que des templates rendus c\u00f4t\u00e9 serveur et enrichis par HTMX, Alpine.js et, bient\u00f4t, les template partials. Les diverses it\u00e9rations de Django s&#8217;adaptent aux besoins des d\u00e9veloppeurs web modernes, tout en pr\u00e9servant la stabilit\u00e9 et la s\u00e9curit\u00e9 qui le rendent indispensable pour des millions d&#8217;utilisateurs.<\/p>\n<h2 class=\"wp-block-heading\">L&#8217;utilisation de l&#8217;IA progresse<\/h2>\n<p>La majorit\u00e9 des personnes interrog\u00e9es (79\u00a0%) s&#8217;appuie toujours sur la documentation officielle comme principale ressource d&#8217;apprentissage, suivie par Stack Overflow (39\u00a0%) et enfin les outils d&#8217;IA et YouTube (38\u00a0%). Pour les outils d&#8217;IA, il s&#8217;agit d&#8217;une progression remarquable sachant que cette cat\u00e9gorie n&#8217;existait tout simplement pas il y a plusieurs ann\u00e9es. Il est \u00e9galement utile de noter que les blogs (33\u00a0%) et les livres (22\u00a0%) sont maintenant loin derri\u00e8re.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651910\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/2.png\" alt=\"Ressources pour apprendre Django\" width=\"1200\" height=\"1108\" \/><\/figure>\n<p>Pour le d\u00e9veloppement Django, 69\u00a0% des personnes interrog\u00e9es disent utiliser ChatGPT, suivi par 34\u00a0% pour GitHub Copilot, 15\u00a0% pour Anthropic Claude et 9\u00a0% pour JetBrains AI Assistant. Les t\u00e2ches les plus sollicit\u00e9es pour l&#8217;IA sont la saisie semi-automatique (56\u00a0%), la g\u00e9n\u00e9ration de code (51\u00a0%) et l&#8217;\u00e9criture de code r\u00e9utilisable (44\u00a0%). Il est fort probable que la prochaine \u00e9dition de l&#8217;enqu\u00eate rel\u00e8ve que les taux d&#8217;adoption dans ce domaine continuent de progresser.<\/p>\n<p>De fa\u00e7on plus anecdotique, de nombreuses discussions de couloir \u00e0 la DjangoCon Europe et \u00e0 la DjangoCon US tournaient cette ann\u00e9e autour des outils d&#8217;IA. Les options disponibles, chat, saisie semi-automatique et agents, sont toutes relativement r\u00e9centes, et il n&#8217;existe pas encore de consensus au sein de la communaut\u00e9 sur la meilleure fa\u00e7on de les utiliser pour le d\u00e9veloppement Django, malgr\u00e9 des discussions tr\u00e8s anim\u00e9es concernant les <a href=\"https:\/\/forum.djangoproject.com\/t\/ai-agent-rules\/40929\" target=\"_blank\" rel=\"noopener\">r\u00e8gles des agents IA<\/a> et les rubriques apparent\u00e9es sur le <a href=\"https:\/\/forum.djangoproject.com\/\" target=\"_blank\" rel=\"noopener\">forum Django<\/a>.<\/p>\n<h2 class=\"wp-block-heading\">Les d\u00e9veloppeurs Django sont exp\u00e9riment\u00e9s<\/h2>\n<p>Par opposition \u00e0 l&#8217;<a href=\"https:\/\/blog.jetbrains.com\/fr\/pycharm\/2025\/09\/l-etat-de-python-en-2025\/\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/08\/the-state-of-python-2025\/#we-are-mostly-brand-new-programmers\">enqu\u00eate Python<\/a> publi\u00e9e plus t\u00f4t cette ann\u00e9e, qui montrait qu&#8217;exactement la moiti\u00e9 (50 %) des personnes interrog\u00e9es avaient moins de deux ans d&#8217;exp\u00e9rience professionnelle, les d\u00e9veloppeurs Django sont exp\u00e9riment\u00e9s : 30 % des personnes interrog\u00e9es avaient 11 ans d&#8217;exp\u00e9rience ou plus, 26 % avaient 6 \u00e0 10 ans d&#8217;exp\u00e9rience et 21 % avaient 3 \u00e0 5 ans d&#8217;exp\u00e9rience. Cela veut dire que 77 % des d\u00e9veloppeurs Django, soit 3 sur 4, ont au moins trois ans d&#8217;exp\u00e9rience professionnelle en programmation.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651923\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/3.png\" alt=\"Quel est le niveau d'exp\u00e9rience des d\u00e9veloppeurs Django ?\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>Une \u00e9crasante majorit\u00e9 des personnes interrog\u00e9es (82\u00a0%) utilise Django de fa\u00e7on professionnelle en suppl\u00e9ment d&#8217;une utilisation personnelle. Environ 51\u00a0% des utilisateurs d\u00e9clarent exploiter Django pour des API backend avec Django REST Framework, tandis que pas moins de 80\u00a0% se consacrent au d\u00e9veloppement full-stack, ce qui est probablement facilit\u00e9 par l\u2019essor des templates rendus c\u00f4t\u00e9 serveur.<\/p>\n<h2 class=\"wp-block-heading\">Fort soutien aux indications de type<\/h2>\n<p>Le soutien aux indications de type est peu surprenante \u00e9tant donn\u00e9 le niveau d&#8217;exp\u00e9rience des personnes interrog\u00e9es : 63\u00a0% indiquent d\u00e9j\u00e0 utiliser les indications de type dans leur code Django, tandis que 17\u00a0% pr\u00e9voient de les utiliser, ce qui donne un total sans appel de 80\u00a0%.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651935\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/4.png\" alt=\"Statistiques d'utilisation des indications de type\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>Concernant l&#8217;int\u00e9gration des indications de type \u00e0 la partie principale de Django, un sujet de discussion r\u00e9current au sein du <a href=\"https:\/\/www.djangoproject.com\/foundation\/teams\/#steering-council-team\" target=\"_blank\" rel=\"noopener\">comit\u00e9 directeur de Django<\/a>, 84\u00a0% disent \u00eatre pour, et 45\u00a0% d&#8217;entre eux disent souhaiter y contribuer.<\/p>\n<p>Django, comme Python, s&#8217;efforce de s&#8217;ouvrir aux nouveaux utilisateurs, sans pour autant n\u00e9gliger les outils plus avanc\u00e9s souvent pr\u00e9f\u00e9r\u00e9s par les programmeurs plus exp\u00e9riment\u00e9s, tels que les indications de type.<\/p>\n<h2 class=\"wp-block-heading\">PostgreSQL impose son rythme<\/h2>\n<p>En termes de backend de base de donn\u00e9es pr\u00e9f\u00e9r\u00e9, ceux qui offrent une prise en charge int\u00e9gr\u00e9e r\u00e8gnent sans partage et sans surprise, \u00e0 commencer par PostgreSQL \u00e0 76\u00a0%, suivi par SQLite \u00e0 42\u00a0%, MySQL \u00e0 27\u00a0% et MariaDB \u00e0 9\u00a0%. Ces pourcentages sont rest\u00e9s remarquablement constants au cours des quatre derni\u00e8res ann\u00e9es.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651946\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/5.png\" alt=\"Bases de donn\u00e9es les plus populaires pour les projets Django\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>Oracle continue de profiter de la croissance relative de l&#8217;utilisation, qui passe de 2\u00a0% en 2021 et 2022, \u00e0 10\u00a0% en 2023 et 9\u00a0% en 2024. Les nouveaux entrants, tels que MongoDB, ne sont pas pass\u00e9s inaper\u00e7us : m\u00eame sans prise en charge officielle, il a atteint 8\u00a0% en 2023, ce qui laisse supposer un int\u00e9r\u00eat pour les options NoSQL bas\u00e9es sur Django. Ce r\u00e9sultat d&#8217;enqu\u00eate a pouss\u00e9 l&#8217;\u00e9quipe de MongoDB \u00e0 investir dans le <a href=\"https:\/\/github.com\/mongodb\/django-mongodb-backend\" target=\"_blank\" rel=\"noopener\">backend Django MongoDB<\/a>, qui a \u00e9t\u00e9 publi\u00e9 dans son int\u00e9gralit\u00e9 cette ann\u00e9e.<\/p>\n<p>Il sera int\u00e9ressant de suivre la prise en charge des bases de donn\u00e9es au cours des ann\u00e9es \u00e0 venir, \u00e9tant donn\u00e9 le regain d&#8217;int\u00e9r\u00eat pour l&#8217;utilisation de SQLite en production, et pas seulement pour le d\u00e9veloppement local, ainsi que les options NoSQL de MongoDB, et pour d\u00e9terminer si Oracle parvient \u00e0 maintenir son niveau d&#8217;utilisation.<\/p>\n<h2 class=\"wp-block-heading\">Paquets tiers populaires<\/h2>\n<p>\u00c0 la question portant sur les cinq paquets Django pr\u00e9f\u00e9r\u00e9s, la liste de r\u00e9ponses devient tr\u00e8s longue, ce qui refl\u00e8te la richesse de l&#8217;offre de l&#8217;\u00e9cosyst\u00e8me Django.\u00a0 Des ressources telles que <a href=\"https:\/\/djangopackages.org\/\" target=\"_blank\" rel=\"noopener\">djangopackages.org<\/a>, le <a href=\"https:\/\/github.com\/wsvincent\/awesome-django\" target=\"_blank\" rel=\"noopener\">r\u00e9f\u00e9rentiel awesome-django<\/a> et la nouvelle <a href=\"https:\/\/www.djangoproject.com\/community\/ecosystem\/\" target=\"_blank\" rel=\"noopener\">page Django Ecosystem<\/a> r\u00e9v\u00e8lent que le secret du succ\u00e8s de Django r\u00e9side dans son \u00e9cosyst\u00e8me d&#8217;applications tierces et de modules compl\u00e9mentaires.<\/p>\n<p>De fa\u00e7on notable, Django REST Framework est largement en t\u00eate avec 49\u00a0%, suivi par `django-debug-toolbar` \u00e0 27\u00a0%, `django-celery` \u00e0 26\u00a0%, `django-cors-headers` \u00e0 19\u00a0%, `django-filter` \u00e0 18\u00a0% et `django-allauth` \u00e0 18\u00a0%. De nombreux paquets ont \u00e9galement \u00e9t\u00e9 pl\u00e9biscit\u00e9s en dehors de ceux que nous venons de citer, ce qui illustre \u00e0 nouveau la richesse des possibilit\u00e9s \u00e0 la disposition des d\u00e9veloppeurs Django.<\/p>\n<h2 class=\"wp-block-heading\">La derni\u00e8re version de Django r\u00e8gne sans partage<\/h2>\n<p>Une \u00e9crasante majorit\u00e9 des personnes interrog\u00e9es (75\u00a0%) dit utiliser la derni\u00e8re version de Django, ce qui est impressionnant \u00e9tant donn\u00e9e la cadence de publication des diff\u00e9rentes versions, environ tous les huit mois. Par exemple, Django 5.1 a \u00e9t\u00e9 publi\u00e9 en ao\u00fbt 2024, Django 5.2 en avril 2025 et Django 6.0, quant \u00e0 lui, sortira en d\u00e9cembre 2025.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651957\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/6-1.png\" alt=\"Quelles versions de Django sont les plus utilis\u00e9es\u00a0?\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>En d\u00e9pit du rythme soutenu de publication de nouvelles versions, Django fait des efforts consid\u00e9rables pour rester stable et a mis en place une politique \u00e9prouv\u00e9e pour g\u00e9rer l&#8217;obsolescence et les retraits qui fait que les modifications incompatibles sont rares.\u00a0<\/p>\n<p>Il est \u00e9galement int\u00e9ressant de noter que certaines versions, notamment celles se terminant par .2, telles que 3.2, 4.2 et 5.2, sont con\u00e7ues pour une <a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/internals\/release-process\/#term-Long-term-support-release\" target=\"_blank\" rel=\"noopener\">prise en charge \u00e0 long terme (LTS)<\/a>, ce qui leur garantit l&#8217;application des correctifs de s\u00e9curit\u00e9 et de perte de donn\u00e9es pendant trois ans.<\/p>\n<p>S&#8217;il est possible d&#8217;op\u00e9rer la mise \u00e0 jour uniquement \u00e0 chaque version LTS, il est encourageant de voir autant de d\u00e9veloppeurs Django opter pour la derni\u00e8re version, car cela vous permet de vous assurer que vous disposez de la derni\u00e8re, et donc meilleure, version du framework. Il est \u00e9galement plus facile de r\u00e9aliser une mise \u00e0 jour r\u00e9guli\u00e8re, appliquant syst\u00e9matiquement les versions disponibles, au lieu d&#8217;attendre plusieurs ann\u00e9es.<\/p>\n<h2 class=\"wp-block-heading\">pytest fait la course en t\u00eate<\/h2>\n<p>Pour citer le co-cr\u00e9ateur de Django, Jacob Kaplan-Moss : \u00ab Un code non test\u00e9 est un code destin\u00e9 \u00e0 \u00e9chouer. \u00bb Django utilise son propre framework de test qui repose sur la biblioth\u00e8que <a href=\"https:\/\/docs.python.org\/3\/library\/unittest.html\" target=\"_blank\" rel=\"noopener\">unittest<\/a> de Python et dispose de fonctionnalit\u00e9s sp\u00e9cifiques aux applications web. De nombreux d\u00e9veloppeurs utilisent \u00e9galement `pytest`, tout aussi populaire dans la communaut\u00e9 Python en g\u00e9n\u00e9ral, pour une aide encore plus pouss\u00e9e lors des tests.<\/p>\n<p>L&#8217;enqu\u00eate a r\u00e9v\u00e9l\u00e9 que `pytest` reste l&#8217;option la plus populaire pour tester les projets Django, \u00e0 39\u00a0%, suivi de pr\u00e8s par `unittest`, \u00e0 33\u00a0%. Deux plugins propres \u00e0 Django, `pytest-django` et `django-test-plus`, sont \u00e9galement tr\u00e8s sollicit\u00e9s. La biblioth\u00e8que `coverage` est utilis\u00e9e par 21\u00a0% des d\u00e9veloppeurs, car elle constitue une solution utile de mesure de la couverture de test d&#8217;un projet. Viennent ensuite des options de test de bout en bout, telles que Selenium et Playwright.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-651979\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/7.png\" alt=\"Options de test les plus populaires pour les projets Django\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>Ces r\u00e9sultats sont coh\u00e9rents avec d&#8217;autres retours sur l&#8217;\u00e9cosyst\u00e8me Python : `unittest` et `pytest` sont, de tr\u00e8s loin, les deux solutions de test dominantes des biblioth\u00e8ques Python. Par cons\u00e9quent, il n&#8217;est pas surprenant de les retrouver \u00e0 un niveau aussi \u00e9lev\u00e9 ici.<\/p>\n<h2 class=\"wp-block-heading\">Id\u00e9es concr\u00e8tes<\/h2>\n<p>Maintenant que vous connaissez mon interpr\u00e9tation des r\u00e9sultats de cette ann\u00e9e, quelles sont les \u00e9tapes suivantes ? Tout d&#8217;abord, sachez que Django est une <a href=\"https:\/\/boringtechnology.club\/\" target=\"_blank\" rel=\"noopener\">technologie sans surprise<\/a> et mature : vous pouvez lui faire confiance pour rester productif, disposer de la derni\u00e8re version de Python et Django, et ne pas rencontrer de\u00a0modifications perturbatrices.<\/p>\n<p>Toutefois, les \u00e9cosyst\u00e8mes Python et open source continuent d&#8217;innover et d&#8217;\u00e9voluer, et les gains de productivit\u00e9 seront au rendez-vous \u00e0 condition de faire quelques exp\u00e9rimentations. Dans cet esprit, voici quatre pistes \u00e0 suivre :<\/p>\n<h3 class=\"wp-block-heading\">Action 1 : essayer HTMX<\/h3>\n<p>Si vous vous demandez pourquoi tout le monde parle de cette solution, consultez la <a href=\"https:\/\/htmx.org\/examples\/\" target=\"_blank\" rel=\"noopener\">section des exemples<\/a> du site web HTMX pour voir les principales am\u00e9liorations portant sur l&#8217;interface utilisateur. Cela est presque aussi facile qu&#8217;un copier-coller pour la plupart des \u00e9l\u00e9ments interactifs ; il n&#8217;est pas n\u00e9cessaire de recourir \u00e0 un framework JavaScript d\u00e9di\u00e9 pour obtenir les m\u00eames r\u00e9sultats.<\/p>\n<h3 class=\"wp-block-heading\">Action 2 : exp\u00e9rimenter avec l&#8217;IA<\/h3>\n<p>Une tendance claire se dessine avec l&#8217;int\u00e9gration des outils d&#8217;IA, <em>sous une forme ou sous une autre<\/em>, au workflow standard de d\u00e9veloppement Django, m\u00eame s&#8217;il n&#8217;y a pas encore de consensus sur ce que cela implique.\u00a0<\/p>\n<p>\u00c0 l&#8217;une des extr\u00e9mit\u00e9s du spectre se trouvent les d\u00e9veloppeurs qui ne demandent que tr\u00e8s peu d&#8217;aide, voire pas du tout : identifier les fautes de frappe, les erreurs \u00e9videntes de syntaxe et rien d&#8217;autre, merci. La saisie semi-automatique, \u00e0 diff\u00e9rents degr\u00e9s, vient juste apr\u00e8s, suivie par la programmation assist\u00e9e par chat, qui peut inclure des extraits de code ou des bases de code compl\u00e8tes, avant d&#8217;interroger le LLM. La fronti\u00e8re ultime, actuellement, consiste \u00e0 cr\u00e9er des agents capables de prendre un prompt et de tenter de le r\u00e9soudre de fa\u00e7on autonome.\u00a0<\/p>\n<p>La plupart des d\u00e9veloppeurs Django suivent ce mod\u00e8le \u00e0 des degr\u00e9s divers, exp\u00e9rimentent avec les nouveaux outils d&#8217;IA, mais sans \u00eatre totalement convaincus. Alors que les outils et les int\u00e9grations aux IDE vont s&#8217;am\u00e9liorer au cours de l&#8217;ann\u00e9e \u00e0 venir, il sera int\u00e9ressant de voir quelle sera l&#8217;\u00e9volution des r\u00e9ponses concernant l&#8217;utilisation de l&#8217;IA lors de l&#8217;enqu\u00eate de l&#8217;ann\u00e9e prochaine.<\/p>\n<h3 class=\"wp-block-heading\">Action 3 : passer \u00e0 la derni\u00e8re version de Django\u00a0<\/h3>\n<p>La meilleure fa\u00e7on de profiter de tous les avantages de Django et Python est d&#8217;utiliser leur derni\u00e8re version. Les deux sont matures et cr\u00e9ent rarement des modifications incompatibles. Par cons\u00e9quent, cela n&#8217;a jamais \u00e9t\u00e9 aussi simple. Dans les bases de code de production utilisant des tests, les mises \u00e0 jour devraient \u00eatre aussi simples que de mettre \u00e0 jour le num\u00e9ro de version, d&#8217;ex\u00e9cuter la suite de tests et de corriger les erreurs qui surviennent.<\/p>\n<p>L&#8217;application des nouvelles versions est comparable \u00e0 l&#8217;entretien d&#8217;un v\u00e9hicule : il est beaucoup plus simple d&#8217;agir r\u00e9guli\u00e8rement que d&#8217;attendre une panne majeure. Cela signifie \u00e9galement que vous disposez de la version la plus s\u00fbre et la plus performante de vos outils.<\/p>\n<h3 class=\"wp-block-heading\">Action 4 : rester inform\u00e9 des \u00e9volutions de l&#8217;\u00e9cosyst\u00e8me Django<\/h3>\n<p>Django est \u00e0 la fois un framework cl\u00e9 en main et un \u00e9cosyst\u00e8me et beaucoup de choses se passent. Le volume de nouvelles informations peut parfois para\u00eetre \u00e9crasant, mais la bonne nouvelle est que vous disposez de ressources quelle que soit votre source d&#8217;information, qu&#8217;il s&#8217;agisse du site officiel de Django ou de podcasts, de newsletters, de conf\u00e9rences et bien plus. La nouvelle <a href=\"https:\/\/www.djangoproject.com\/community\/ecosystem\/\" target=\"_blank\" rel=\"noopener\">page de l&#8217;\u00e9cosyst\u00e8me Django<\/a> est un excellent point de d\u00e9part.\u00a0<\/p>\n<p>Vous souhaitez en savoir plus\u00a0? <a href=\"https:\/\/lp.jetbrains.com\/django-developer-survey-2025\/\" target=\"_blank\" rel=\"noopener\" data-type=\"link\" data-id=\"https:\/\/lp.jetbrains.com\/django-developer-survey-2025\/\">Consultez les r\u00e9sultats complets de l&#8217;enqu\u00eate sur les d\u00e9veloppeurs Django ici<\/a>.<\/p>\n\n\n<p><em>Auteur de l&#8217;article original en anglais<\/em> :<\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/01\/headshot_smile_smaller.jpg\" width=\"200\" height=\"200\" alt=\"Will Vincent\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Will Vincent<\/h4>\n                                        <p>Will Vincent is a Python Developer Advocate at JetBrains and former <a href=\"https:\/\/www.djangoproject.com\/foundation\/\" target=\"_blank\" rel=\"noopener\">Django Board Member<\/a>. He is the author of 3 books on web development with Django, hosts the <a href=\"https:\/\/djangochat.com\/\" target=\"_blank\" rel=\"noopener\">Django Chat<\/a> podcast, and writes the <a href=\"https:\/\/django-news.com\/\" target=\"_blank\" rel=\"noopener\">Django News<\/a> newsletter. In addition, he is a regular conference speaker, <a href=\"https:\/\/github.com\/wsvincent\/\" target=\"_blank\" rel=\"noopener\">open-source maintainer<\/a>, and founder of <a href=\"https:\/\/learndjango.com\/\" target=\"_blank\" rel=\"noopener\">LearnDjango.com<\/a>. Previously he worked at multiple early-stage startups, most notably Quizlet, and taught computer science at Williams College.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":660431,"comment_status":"closed","ping_status":"closed","template":"","categories":[8377],"tags":[963,73],"cross-post-tag":[8851],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/pycharm\/660417"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/pycharm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/pycharm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=660417"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/pycharm\/660417\/revisions"}],"predecessor-version":[{"id":660443,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/pycharm\/660417\/revisions\/660443"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/660431"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=660417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=660417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=660417"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=660417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}