# Documentation Django 3.1.9.dev

# Notes de publication pour Django version 0.95.

Bienvenue sur la version 0.95 de Django.

Cela représente un progrès important dans le développement de Django depuis la publication de la 0.91 en Janvier 2006. Les détails de chaque changement contenu dans cette publication seraient trop longs à énumérer dans son intégralité, mais un résumé est présenté ci-dessous.

## Pertinence et stabilité de l’API

Cette publication est destinée à fournir un point de référence stable pour les développeurs souhaitant travailler sur des applications de production et utilisant Django.

Cependant, il ne s’agit pas de la publication de la 1.0, et nous introduirons de nouvelles modifications avant la 1.0. Pour avoir une bonne vision de quelles zones du système pourraient changer (et celles qui ne changeront pas) avant la 1.0, voir le fichier `api-stability.txt`, qui réside dans le répertoire docs/ de la distribution.

Vous pourriez avoir besoin d’utiliser certaines des fonctionnalités qui sont marqués comme « sous réserve de changement d’API » dans ce document, mais c’est OK avec nous aussi longtemps que c’est OK avec vous, et aussi longtemps que vous comprenez que les API peuvent changer dans le futur.

Heureusement, la majorité des API du noyau de Django ne changeront pas avant la version 1.0. Il n’y aura probablement pas de changements aussi importants entre les versions 0.95 et 1.0 qu’il y en a eu entre les versions 0.91 et 0.95.

## Changements et nouvelles fonctionalités

Le changement principal dans cette version (pour les développeurs utilisant toujours la version 0.91) est la fusion de la branche de développement “magic-removal”. Cette branche retire un certain nombre de contraintes dans la façon d’écrire du code avec Django, qui était une conséquence des décisions faites au début de l’existence du framework, avant sa version libre. Il est désormais possible d’écrire de façon plus naturel et Pythonique certains codes, avec un côté moins « magique » derrière.

En parallèle, un changement conséquent de cette version est l’amélioration de l’utilisabilité du framework. Nous avons réalisé un nombre incalculable d’améliorations dans les messages d’erreurs, la documentation, etc., afin de faciliter la vie des développeurs.

Les nouvelles fonctionnalités et modifications introduites dans la version 0.95 sont entre autre :

- Django utilise maintenant une interface de filtrage plus cohérente et naturelle pour récupérer des objet depuis la base de donnée
- Les modèles définis par l’utilisateur, les fonctions et constantes apparaissent désormais dans l’espace de noms du module où ils ont été défini. (Auparavant, tout était transféré dans l’espace de nom `django.models.*` de façon magique)
- Divers applications optionnelles, comme FlatPages, Sites et Redirects, ont été séparées et déplacées vers `django.contrib`. Si vous n’utilisez pas ces applications, vous n’êtes plus obligé de créer leurs tables dans la base de données.
- Django intègre désormais le support de la gestion des transactions de base de données.
- Nous avons ajouté la possibilité d’écrire son propre système d’authentification et de permissions, pour identifier les utilisateurs avec des systèmes alternatifs tel que LDAP.
- We’ve made it easier to add custom table-level functions to models, through a new « Manager » API.
- Il est maintenant possible d’utiliser Django sans base de données. Cela signifie simplement que le cadre ne nécessite plus que vous avez une base de données de travail mis en place juste pour servir des pages dynamiques. En d’autres termes, vous pouvez simplement utiliser URLconfs / points de vue sur leur propre. Auparavant, le cadre nécessaire qu’une base de données est configurée, indépendamment du fait que vous avez réellement utilisé.
- Il est désormais plus explicite et naturel de surcharger les méthodes save() et delete() dans les modèles, plutôt que de devoir passer via les hooks pre_save() et post_save().
- Des pièces individuelles du cadre peuvent désormais être configurés sans nécessiter l’établissement d’une variable d’environnement. Cela permet d’utiliser, par exemple, le système de templates Django à l’intérieur d’autres applications.
- De plus en plus de parties du cadre ont été internationalisée, comme nous l’avons élargi le soutien à l’internationalisation (i18n). La base de code Django, y compris le code et modèles, a été traduit, au moins en partie, dans 31 langues. De l’arabe au chinois au hongrois au gallois, il est désormais possible d’utiliser le site d’administration de Django dans votre langue maternelle.

Le nombre de changements pour rendre du code compatible 0.91 à la version 0.95 peut être important dans certains cas. Cependant, ces changements sont, pour la plupart, assez mécaniques et n’ont besoin d’être effectués qu’une seule fois. Une liste des changements nécessaire est décrit dans la page wiki Removing The Magic. Il y a également une checklist auquel vous pouvez vous référer au moment du basculement.

## Les rapports de problème et la demande d’aide

Besoin d’aide pour résoudre un problème avec Django ? La documentation est également disponible en ligne sur le site Web de Django. La FAQ est particulièrement recommandée car elle contient certaines explications à des problèmes souvent rencontrés par les développeurs.

Pour une aide personnalisé, la mailing-list django-users est très active, avec plus de 2 000 inscrits, qui peuvent vous aider à résoudre n’importe quel type de problème avec Django. Nous vous recommandons de chercher tout d’abord dans les archives, car de nombreuses questions basiques sont posées régulièrement et votre problème a donc peut-être déjà été réglé.

Finally, for those who prefer the more immediate feedback offered by IRC, there’s a `#django` channel on irc.freenode.net that is regularly populated by Django users and developers from around the world. Friendly people are usually available at any hour of the day – to help, or just to chat.

Merci d’utiliser Django!

L’équipe Django en Juillet 2006