Enquête 2021 auprès des développeurs Django

Voici l'enquête annuelle officielle sur les développeurs Django, menée en collaboration par la Django Software Foundation et JetBrains. En août 2021, plus de 7 000 utilisateurs ainsi que des passionnés de Django de près de 140 pays et régions ont participé à cette enquête pour nous aider à mieux comprendre l'état actuel du framework et de son écosystème.

Utilisation de Django

À quelles fins utilisez-vous principalement Django ?

Aussi bien pour le travail que pour mes projets personnels, éducatifs ou secondaires
Uniquement pour mes projets personnels, éducatifs ou secondaires
Uniquement pour le travail
66%20%15%

Seuls 15 % des développeurs Django l'utilisent UNIQUEMENT pour le travail, tandis que deux tiers l'utilisent à la fois pour le travail et pour des projets personnels, éducatifs ou secondaires.

Les personnes qui travaillent seules sont plus susceptibles d'utiliser Django à des fins personnelles.

Selon l'enquête 2020 auprès des développeurs Python, Django est le deuxième framework Python le plus populaire.

Il occupe la neuvième place parmi tous les frameworks web existants, selon la dernière enquête de Stackoverflow.

Quelles versions de Django utilisez-vous ?> 100%

75%30%16%24%10%3%

24 % des personnes interrogées utilisent encore Django 2.2, la dernière version LTS (prise en charge à long terme) avant la version 3.2. Vous trouverez ici une liste des versions prises en charge.

Même si la version 3.2 est utilisée par les trois quarts des développeurs Django, la plupart d'entre eux utilisent plusieurs versions.

Pour vos nouveaux projets, quelle version de Django utilisez-vous ?

71%27%2%

Près de 30 % des participants utilisent Django LTS pour leurs nouveaux projets.

À quelle fréquence mettez-vous Django à niveau dans vos projets ?

44%14%30%5%7%

Les développeurs préfèrent généralement mettre Django à niveau soit à chaque version stable (44 %), soit uniquement lors de la publication d'une nouvelle version LTS (30 %).

Technologies et frameworks

Quels backends de base de données utilisez-vous ?> 100%

77%41%30%10%2%2%6%

PostgreSQL est la base de données de backend la plus populaire, avec une part de 77 % (en tant que base de données la plus adaptée à Django), tandis que SQLite se classe deuxième en termes de popularité avec une part de 41 %.

Quel backend de cache utilisez-vous ?> 100%

Redis47%Memcached18%Autre2%Aucun43%

Redis est le backend de cache le plus populaire, Memcached arrive en deuxième position (47 % contre 18 %). Toutefois, près de la moitié des personnes interrogées (43 %) n'utilisent aucun backend de cache.

Memcached bénéficie d'une prise en charge native et la prise en charge de Redis a été ajoutée à Django 4.0, en grande partie pour prendre en compte les résultats de l'enquête Django de l'année dernière.

Les développeurs cumulant plus de 11 ans d'expérience sont les plus susceptibles d'utiliser un backend de cache. Les développeurs qui ont tendance à ne pas utiliser un backend de cache sont les moins expérimentés, les indépendants, les étudiants et les freelancers.

Quels backends GeoDjango utilisez-vous ? > 100%

72%22%7%2%1%1%

Seuls 28 % des participants utilisent GeoDjango, et la plupart d'entre eux choisissent PostGIS comme backend.

Quelles sont les applications de contribution à Django les plus utiles à vos yeux ?> 100%

84%80%49%49%46%33%27%24%17%16%12%11%6%4%3%1%

Quels sont vos trois composants essentiels préférés ?> 100%

72%49%33%28%26%15%14%13%11%9%5%5%4%3%1%

Quel moteur de templates utilisez-vous ?> 100%

Templates Django79%Jinja214%Autre1%Aucun14%

Quels frameworks de tests utilisez-vous ?> 100%

39%36%19%12%6%5%4%2%1%1%31%

Les trois principaux framewroks de test pour Django sont pytest, unittest et coverage.

Quels frameworks JavaScript utilisez-vous ?> 100%

37%37%28%10%5%3%1%1%4%20%

Les deux frameworks JS les plus populaires sont jQuery et React (37 % chacun). Vue les talonne de 9 points.

Il est intéressant de noter que les personnes qui utilisent Django à la fois pour leur travail et à des fins personnelles sont plus susceptibles de choisir Vue que celles et ceux qui utilisent Django uniquement pour leur travail (31 % contre 21 %), alors que pour les autres frameworks, la différence est beaucoup moins prononcée.

36 % des développeurs utilisent React uniquement pour le travail, tandis que 26 % l'utilisent à des fins personnelles ou éducatives.

Quels frameworks CSS utilisez-vous ?> 100%

68%15%14%12%6%3%2%2%1%4%16%

Près de 70 % des utilisateurs de Django utilisent un ou plusieurs frameworks CSS Bootstrap. Les plus novices sont plus susceptibles d'utiliser Pure CSS que les personnes plus expérimentées.

Quels sont vos 5 paquets Django tiers préférés ?> 100%

60%27%26%18%17%17%17%15%14%13%
Tous les résultats

La probabilité d'utiliser django-debug-toolbar augmente avec l'expérience : cet outil est utilisé par 12 % des programmeurs Django ayant un an d'expérience, mais par 40 % de ceux ayant 11 ans d'expérience ou plus.

Quelles technologies asynchrones utilisez-vous ?> 100%

24%22%16%16%13%10%9%5%4%1%5%49%

Langages et autres frameworks web

Python est-il votre principal langage de programmation ?> 100%

89 % des développeurs Django utilisent Python comme principal langage de programmation.

Quels autres langages de programmation utilisez-vous en plus de Python ?> 100%

75%64%47%37%20%19%16%14%11%9%5%3%3%6%4%

75 % des développeurs Django utilisent également JavaScript, et 67 % utilisent HTML/CSS.

Quel est votre principal langage de programmation ?> 100%

Cette question n'a été posée qu'aux personnes ayant choisi Python comme langage secondaire.

25%13%12%10%8%7%5%3%2%2%2%1%12%

Après Python, le deuxième langage principal des utilisateurs de Django est JavaScript. C/C++ arrive en troisième position, et la plupart de ses utilisateurs sont soit des étudiants, soit des développeurs chevronnés avec plus de 11 ans d'expérience.

À part Django, quels frameworks web utilisez-vous ?> 100%

32%32%30%27%20%9%8%5%4%3%
Tous les résultats

Les cinq principaux frameworks web utilisés par les développeurs Django sont React.js, Flask, JQuery, Vue.js et FastAPI. Et très souvent, ils sont utilisés ensemble.

Quel framework web utilisez-vous le plus ?> 100%

82%4%2%2%2%1%1%1%5%

Ressources

Parmi les propositions suivantes, qu'utilisez-vous pour suivre l'actualité du développement Django ?> 100%

53%31%20%19%16%11%10%10%10%6%6%5%3%2%20%3%

Cependant, 20 % ne suivent pas l'actualité de Django, et la majorité de ce groupe est constituée de novices ainsi que de développeurs totalisant moins d'un an d'expérience.

Les développeurs plus expérimentés préfèrent la newsletter Django News, Hacker News, RSS et Twitter, tandis que les moins expérimentés ont tendance à utiliser Stack Overflow et YouTube pour suivre l'actualité du développement Django.

Lesquels des outils suivants préférez-vous utiliser pour apprendre Django ?> 100%

78%46%41%31%18%9%5%5%3%

Pensez aux ressources web que vous lisez ou suivez pour Django, à l'exception des canaux officiels de Django> 100%

Chaînes YouTube52%Blog34%Podcasts25%Noms d'utilisateur Twitter13%Forum11%Autre23%

Les 2 principaux comptes Twitter :

  1. Carlton Gibson (@carltongibson)
  2. Jeff Triplett (@webology)

Le forum le plus populaire :

Versions de Python

Quelles versions de Python utilisez-vous ?> 100%

13%60%53%31%19%4%6%2%

Les versions 3.9 et 3.8 de Python sont les plus utilisées par les utilisateurs de Django.

Les développeurs de plus de 11 ans d'expérience utilisent deux fois plus Python 2 que les autres (14 % contre 6 %).

Étonnamment, 13 % ont choisi Python 3.10, même si l'enquête a été menée en août 2021 et que la v3.10 est sortie plus tard, en octobre 2021.

Comment mettez-vous généralement à jour votre version de Python ?>100

40%37%27%25%8%5%4%3%2%3%

Les personnes qui utilisent Django à des fins personnelles ou éducatives, ainsi que les spécialistes ayant moins de deux ans d'expérience, ont tendance à mettre à jour leurs versions de Python par le biais de Python.org ou d'Anaconda.

Les personnes plus expérimentées qui utilisent Django pour leur travail utilisent davantage des outils spécifiques, tels que des conteneurs Docker et pyenv. La version de Python fournie par le système d'exploitation est largement utilisé par toutes les catégories de développeurs.

Parmi les outils suivants, lesquels utilisez-vous pour isoler les environnements Python, le cas échéant ?> 100%

55%44%40%23%13%8%3%2%3%

Virtualenv est utilisé par toutes les catégories de développeurs. Les plus novices sont plus susceptibles de choisir Venv, tandis que les plus expérimentés préfèrent Docker.

Quels outils de mise en forme du code utilisez-vous ?> 100%

35%
Black
30%
autopep8
18%
isort
2%
YAPF
4%
Autre
35%
Aucun

Parmi les utilisateurs de mypy, les principaux outils de mise en forme du code sont Black et isort, mais les utilisateurs de pylint marquent une préférence pour autopep8.

L'outil de mise en forme du code Black est utilisé par les développeurs plus expérimentés, tandis que les plus novices se tournent davantage vers autopep8. Pour Python, autopep8 semble être le choix par défaut. Django s'est engagé à prendre officiellement Black en charge dans le futur.

Quels linters utilisez-vous ?> 100%

40%37%26%14%4%26%

91 % des utilisateurs de Flake8 utilisent également PostgreSQL. pylint est plus populaire parmi les personnes moins expérimentées, tandis que les plus expérimentées marquent une préférence pour Flake8.

Flake8 et pylint par années d'expérience en Python> 100%

Flake8
pylint
3%/7%11%/24%31%/31%32%/23%23%/15%

Quels sont vos 5 principaux paquets Python de référence ?> 100%

54%54%42%39%35%28%20%17%16%12%11%11%11%9%4%3%2%2%2%1%6%7%

Psycopg2 et Requests sont les paquets Python les plus utilisés par les utilisateurs de Django, avec 54 % chacun.

Requests est une plateforme populaire parmi tous les développeurs Python, tandis que Psycopg2 semble être spécifique à Django.

Pillow, un module permettant de travailler avec des images, est populaire auprès des développeurs moins expérimentés.

Cloud

Quelle plateforme d'hébergement cloud utilisez-vous, le cas échéant ?> 100%

43%27%25%13%11%8%6%1%1%12%19%

AWS est la plateforme d'hébergement cloud la plus utilisée.

La part de novices parmi les utilisateurs de Heroku et de PythonAnywhere est plus élevée que celle des utilisateurs d'autres plateformes.

Si l'on compare ces résultats à ceux de l'enquête sur les développeurs Python, Google Cloud Platform est utilisé par 33 % des développeurs Python (deuxième plus populaire), mais par seulement un quart des développeurs Django (quatrième place). Cette tendance est encore plus prononcée pour Microsoft Azure, qui est utilisé par 21 % des programmeurs Python, mais seulement 8 % des programmeurs Django.

Comment développez-vous localement pour le cloud ?>100

66%40%10%7%7%3%1%9%

Comment exécutez-vous du code dans le cloud (dans un environnement de production) ?>100

49%37%23%9%2%15%

Outils de développement

Quel est votre IDE ou éditeur de texte principal ?> 100%

42%38%7%5%2%2%1%3%

VS Code et PyCharm sont les deux IDE les plus populaires parmi les développeurs Django.

Parmi les développeurs moins expérimentés, VSCode est le plus populaire, PyCharm semble recueillir une légère préférence des plus expérimentés, et les parts des deux IDE sont équivalentes pour les personnes cumulant 3 à 5 ans d'expérience.

Principal IDE ou éditeur de texte pour un usage professionnel et personnel.> 100%

Professionnel
Personnel
40%/49%40%/29%7%/6%5%/6%2%/4%2%/1%1%/2%3%/3%

Quel est votre principal système d'exploitation local ?> 100%

42 % des développeurs Django utilisent Linux, plus que tout autre système d'exploitation. Windows et macOS sont pratiquement à égalité avec respectivement 29 % et 28 %.

Quels systèmes d'intégration continue (CI) utilisez-vous ?> 100%

35%27%12%8%6%1%7%32%

Dans la catégorie « Autres », les réponses les plus fréquentes étaient Bitbucket ou Azure DevOps.

Quels outils de gestion de la configuration utilisez-vous, le cas échéant ?> 100%

20%7%2%2%1%4%68%

Seuls 32 % des utilisateurs de Django utilisent des outils de gestion de la configuration. La « solution personnalisée » occupe la deuxième place avec une part de 7 %.

Conteneurs

Utilisez-vous des conteneurs Docker, ou quelque chose de similaire ?>100

62 % des développeurs Django utilisent des conteneurs.

Qu'exécutez-vous dans des conteneurs Docker ?>100

89%62%19%2%

Au cours du développement, où exécutez-vous votre code ?>100

73%60%16%8%4%1%

Comment déployez-vous du code dans des conteneurs distants pendant le développement ?>100

65%41%39%14%4%

Comment déboguez-vous votre application ?> 100%

72%56%40%2%

Les développeurs les plus expérimentés ont tendance à privilégier shell/pdb pour déboguer leurs applications.

Déboguez-vous votre application sur des hôtes distants, ou dans des conteneurs ?

Je n'utilise que les indications du journal
Non
J'utilise fréquemment un débogueur pour mes applications, à distance ou dans des conteneurs
J'ai associé un débogueur une ou deux fois
29%28%23%20%

Quel backend de cache utilisez-vous ?>100%

Redis est le backend de cache le plus populaire, Memcached arrive en deuxième position (47 % contre 18 %). Toutefois, près de la moitié des personnes interrogées (43 %) n'utilisent aucun backend de cache.

Memcached bénéficie d'une prise en charge native et la prise en charge de Redis a été ajoutée à Django 4.0, en grande partie pour prendre en compte les résultats de l'enquête Django de l'année dernière.

Les développeurs cumulant plus de 11 ans d'expérience sont les plus susceptibles d'utiliser un backend de cache. Les développeurs qui ont tendance à ne pas utiliser un backend de cache sont les moins expérimentés, les indépendants, les étudiants et les freelancers.

Données démographiques

Quelle est votre situation professionnelle actuelle ?>100

61%11%9%9%4%4%2%

Le taux des utilisateurs freelances de Django est deux fois plus élevé que celui des développeurs en général : la part des freelancers dans cette enquête est de 11 %, contre seulement 5 % dans l'écosystème total des développeurs, et 6 % dans l'enquête sur les développeurs Python.

Quelle est votre fonction ?>100

79%18%17%12%7%6%4%4%3%3%8%

Quelle est la taille de votre entreprise ?

19%20%21%19%4%5%8%3%

Au sein de votre entreprise, quelle est la taille de l'équipe dans laquelle vous travaillez ?

12%64%14%6%2%2%

Les développeurs Django ont tendance à travailler en petites équipes.

Travaillez-vous en équipe ou de manière indépendante ?

Je travaille en équipe
Je travaille sur mon propre projet de manière indépendante
Je travaille en tant que consultant externe ou formateur
64%32%4%

Sur combien de projets travaillez-vous ?

Je travaille sur de nombreux projets différents
Je travaille sur un projet principal et plusieurs projets secondaires.
Je ne travaille que sur un seul projet
49%36%15%

Lequel des secteurs suivants correspond le mieux aux activités de votre entreprise ?> 100%

36%8%6%5%4%3%3%2%2%2%2%2%2%2%1%1%1%1%1%1%1%12%

Quelle est votre expérience professionnelle en matière de codage ?

11%17%24%19%29%

Depuis combien de temps programmez-vous en Python ?

8%21%31%24%16%

Dans quel pays / quelle région vivez-vous ?

13%9%5%5%5%4%3%3%2%2%2%2%2%2%2%2%
Tous les résultats

Méthodologie et données brutes

Vous voulez explorer les données en détail ? Téléchargez les réponses anonymisées à l'enquête et voyez ce que vous pouvez apprendre ! Partagez vos conclusions et vos analyses en mentionnant @jetbrains et @djangoproject sur Twitter avec le hashtag #djangosurvey.

Avant de disséquer les données, veuillez prendre en compte les informations importantes ci-dessous :

L'ensemble de données comprend uniquement les réponses collectées par les canaux officiels de la Django Software Foundation. Après avoir éliminé les réponses en doublon et non fiables, l'ensemble de données comprend plus de 7 000 réponses recueillies en août 2021 grâce à la promotion de l'enquête sur les canaux officiels de Django, tels que djangoproject.com et le compte Twitter de la DSF. Afin d’éviter que l’enquête ne penche en faveur d’un outil ou d’une technologie spécifiques, aucun canal associé aux produits, aux services ou aux fournisseurs n’a été utilisé pour recueillir les réponses.

Par ailleurs, ces données sont anonymes et ne comportent pas d'informations personnelles ou de géolocalisation. En outre, afin d’empêcher l’identification de tout participant individuel par ses textes de commentaires, tous les champs ouverts ont été supprimés.

Pour vous aider à mieux comprendre la logique de l’enquête, nous partageons l’ensemble des données, les questions et toute la logique de l’enquête.

Télécharger les données brutes

Une fois encore, au nom de la Django Software Foundation et de JetBrains, nous tenons à remercier toutes les personnes qui ont participé à cette enquête.

Pour toute question or suggestion, merci de nous contacter à l'adresse surveys@jetbrains.com.