Django 5.0 - Quoi de neuf dans cette nouvelle version ?

15 décembre 2023 14:10 dans publications

Sortie de Django 5.0 : les nouvelles fonctionnalités de la version 5.0 sortie le 4 décembre 2023 sont nombreuses. Nous avons essayé d’en exposer les plus importantes d’une manière simple et compréhensible pour tous.

Slider Image

Django est un framework open source écrit en Python qui permet de créer des applications web et des sites internet rapidement, de manière efficace. Il simplifie le développement web en offrant une structure cohérente pour la gestion des modèles, des vues, des URL, etc., tout en étant facilement extensible grâce à son architecture basée sur des composants autonomes.

Initialement conçu pour un journal local américain en 2003, il a été mis à disposition sous licence libre en 2005. Depuis lors, des sites majeurs tels que Pinterest, Instagram et Mozilla ont adopté Django pour leur infrastructure. La communauté autour de ce projet est soutenue par la Django Software Foundation qui organise régulièrement des conférences pour partager les avancées et les idées. 

Les nouvelles fonctionnalités de la version 5.0 sortie le 4 décembre 2023 sont nombreuses. Voici les fonctionnalités majeures d’une manière simple et compréhensible pour tous.

Groupe de champs (Formulaire) : regroupe et organise différents éléments d'un formulaire, facilitant leur manipulation et leur rendu.

Ce concept vise à simplifier la création et la gestion de groupes d'éléments connexes dans un formulaire. Au lieu de traiter chaque élément individuellement, les groupes de champs permettent d'organiser des éléments en fonction de leurs caractéristiques communes.

Cela est utile pour structurer des sections complexes d'un formulaire, telles que des adresses postales, des informations bancaires ou des paramètres de configuration avancés. Ils aident également à maintenir une organisation logique et à rendre les formulaires plus accessibles aux utilisateurs.

D'une manière générale, ils améliorent l'ergonomie des interfaces de formulaire et facilite grandement la mise en place et maintenance du code.

Amélioration de l'accessibilité : des efforts ont été faits pour améliorer l'accessibilité des formulaires et des pages web aux personnes ayant des difficultés de perception.

Ces modifications visent à rendre les applications web plus accessibles aux personnes malvoyantes, sourdes, ayant des difficultés motrices ou ayant d'autres handicaps.

Parmi les améliorations apportées figure la mise en place d'attributs HTML pour identifier les éléments d'aide et les légendes associées aux contrôles, ainsi que des modifications pour rendre les labels plus distincts et accessibles. Les formulaires sont désormais pourvus d'éléments ARIA pour fournir des informations supplémentaires aux navigateurs d'assistance, comme les lecteurs d'écran.

De même, les éléments CSS ont été mis à jour pour améliorer la lisibilité et la compatibilité avec les outils assistances technologiques. Grâce à ces modifications, les applications web sont devenues plus inclusives et accessibles pour un large éventail d'utilisateurs, ce qui favorise la pratique d'Internet pour tous.

Un impact sur le SEO et le ranking va être apprécié par de nombreux propriétaires de site.

Champs pré-calculés : cette fonctionnalité permet de définir des valeurs par défaut pour les champs de base de données en utilisant des fonctions.

La génération de champs par défaut à partir d'expressions permet aux développeurs de définir des valeurs pour les champs de base de données en utilisant des fonctions. Ceci peut être utile pour pré-remplir des champs avec des informations courantes ou pour appliquer des règles de validation automatique. Les domaines d’application sont vastes : facturation, tableau de bord, profil, génération de contenu
Avant la mise en place de cette fonctionnalité, les développeurs devaient souvent recourir à des astuces pour atteindre ce but. Maintenant, cela peut être réalisé de manière plus simple et structurée.

Optimisation de la performance : de nombreux changements internes ont été effectués pour améliorer la performance et la stabilité du framework.

Des modifications ont été apportées pour améliorer la gestion des transactions, la gestion des relations many-to-many et la génération de requêtes SQL. De plus, la gestion des caches a été optimisée, ce qui accélère les opérations sur les objets de modèle.

Une attention particulière a été portée sur la performance des tâches courantes, comme la création de modèles, la migration de bases de données et la génération de fichiers statiques. Ainsi, Django 5.0 offre une expérience de développement encore plus fluide et efficace, tout en garantissant la rapidité et la robustesse des applications web. 

Mais aussi :

  • Améliorations diverses dans les domaines de l'internationalisation, de l'utilisation des API, de l'indexation des moteurs de recherche, de l'interaction avec les navigateurs web. 
  • Prise en charge de bases de données plus récentes : Django 5.0 prend en charge davantage de bases de données, notamment PostgreSQL 15, MariaDB 10.7, Oracle 21c et SQLite 3.31.
  • Mises à jour des drivers de base de données : le support pour les pilotes de base de données Oracle db et psycopg2 a été amélioré.

Pour conclure :

Django, framework open source populaire et incontournable pour le développement web, se caractérise par sa capacité à s'adapter et à évoluer avec les tendances informatiques modernes très changeantes. Cette nouvelle version respecte plus que jamais sa célèbre devise  “The web framework for perfectionists with deadlines” et conforte ainsi sa position en tant qu'outil indispensable pour le monde du développement web. Elle conviendra, pour sûr, aux prestataires comme aux propriétaires et créateurs d’applications et de sites web dynamiques.

Auteur : Simon ANDRE

Articles associés

27 novembre 2023
Python 3.12 : Le multi-threading réel et ses impacts

Python est un langage au typage dynamique et qui fournit une gestion automatique de l'allocation mémoire.

Utiliser une IA locale pour documenter du code

La puissance des modèles de language open source augmente, ouvrant des possibilités nouvelles. Dans cet exemple nous allons utiliser Mistral 7B instruct, un des meilleurs modèle de taille modeste à ce jour, pour générer des docstrings pour du code Python. Un avantage essentiel de cette technique est qu'elle permet de garder le code privé, rien n'est envoyé sur des plateformes externes, assurant une confidentialité compatible avec une utilisation en entreprise.

LocalLm : une IA locale en Python

Face à ChatGPT et autres large language models (LLM) fermés, des alternatives open source se développent. De plus en plus de models open source font leur apparition : les Llama, Mistral et autres Falcon et consorts. Cet écosystème émergent permet d'envisager une utilisation interne en entreprise, hors plateformes géantes. Même si les coûts et la technologie restent incertains et en constante évolution, une telle approche permet de préserver la confidentialité des données, en ne les envoyant pas sur des plateformes externes.

7 février 2021
Emencia rejoint la "Django CMS Association" en tant que Sponsor Bronze

Emencia est fière d’annoncer qu’elle rejoint la « Django CMS Association » en tant que sponsor Bronze https://www.django-cms.org/en/our-members/ La Django CMS Association est une association à but non lucratif créée en 2020 et basée à Zurich (Suisse). Ses objectifs sont de garantir le succès de Django CMS, en augmentant la satisfaction…

6 avril 2020
Notre expertise mise au profit de votre recherche d'un développeur Django/Python

Emencia, spécialisée en développement Python depuis sa création en 2002, a renforcé son savoir-faire Django en se spécialisant sur le framework Django depuis 2007. Vous souhaitez renforcer vos équipes de développement Python ? Emencia vous propose aujourd'hui son expertise pour vous accompagner dans la recherche d'un développeur Python / Django sélectionné par nos…