Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Django 2.0 : le framework web ne va pas supporter Python 2
Une raison suffisante d'abandonner maintenant Python 2.x ?

Le , par Michael Guilloux

322PARTAGES

4  0 
Django est un framework web libre et open source, écrit en Python, qui suit le modèle architectural Modèle-Vue-Template (MVT). L'objectif principal de Django est de faciliter la création de sites web complexes basés sur des bases de données. Il met donc l'accent sur la réutilisation des composants, le développement rapide et le principe de ne pas se répéter.

Django est de loin le plus utilisé parmi les frameworks basés sur le langage Python et pour de nombreux développeurs, c'est probablement l'une des premières raisons pour lesquelles ils utilisent Python. Pour une personne qui connait bien en effet le langage Python, l'utilisation de Django sera intuitive. Pour les développeurs Python qui comptent sur le framework, les versions du langage prises en charge par Django sont donc importantes, surtout avec une communauté de développeurs partagée entre Python 2.x et 3.x.

Pour rappel, le débat sur le choix des versions de Python à adopter est né de la transition entre les branches 2.x et 3.x que certains ont trouvé trop brutale, créant en effet une rupture dans la compatibilité. S’il semble idéal de commencer les nouveaux projets Python avec les versions 3.x, la migration des projets existants pourrait s’avérer très coûteuse, pour les grands projets surtout. Pour cette raison, de nombreuses entreprises s’accrochent aux anciennes versions.

À l’opposé, d’autres développeurs estiment que les améliorations apportées par Python 3.x sont assez suffisantes pour abandonner les versions 2.x. Certains estiment même que l’abandon du support de Python 2.x serait la bienvenue, dans la mesure où l’utilisation parallèle de ces différentes versions pourrait ralentir la croissance du langage et entrainer un exode vers d’autres langages équivalents.

Le vent semble toutefois souffler dans la direction de Python 3.x, étant donné que la version 2.0 de Django ne va plus supporter Python 2. Conformément à sa politique de support des versions de Python, l’équipe Django prévoit de livrer la prochaine version de Django (1.11) en avril 2017, avec uniquement le support de Python 2.7 dans la branche 2.x. Django 1.11 sera encore la dernière version à supporter Python 2. L’équipe derrière le framework a en effet annoncé que la version suivante (Django 2.0) ne va supporter que Python 3.5 et les versions suivantes. Cette décision va-t-elle pousser pour de bon les entreprises à la traine vers Python 3 ?

Source : Documentation Django 2.0

Et vous ?

Qu’en pensez-vous ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de wiztricks
Expert éminent sénior https://www.developpez.com
Le 08/12/2017 à 10:23
Salut,

Citation Envoyé par SurferIX Voir le message
Je suis un énorme fan de Django à tous les niveaux : déboguage, rapidité de développement, qualité du code, le fait que ce soit Python etc.
Mais honnêtement, les améliorations ne méritent pas un "2.0".
Incrémenter la version majeure n'a rien à voir avec la quantité ou la qualité de nouvelles fonctionnalités. C'est juste un signal qui dit que la compatibilité ascendante est cassée cela pour inviter le développeur à lire attentivement le release notes avant de l'installer.

Stopper le support de Python2 oblige le développeur à migrer sous Python3... Ce qui n'est pas une mince affaire car même si côté technique, il a de la chance, il va falloir re-tester (ce qui coûte en temps). Puis avoir éventuellement des discussions et des décisions sur la migration des autres application et/ou le support d'environnements mixtes Python2/Python3.

Suivant l'environnement de production où la question sera posée ce ne sera pas toujours un détail et en tous cas, c'est un bien changement majeur dans le sens commun.

- W
2  0 
Avatar de SurferIX
Membre chevronné https://www.developpez.com
Le 08/12/2017 à 9:30
Je suis un énorme fan de Django à tous les niveaux : déboguage, rapidité de développement, qualité du code, le fait que ce soit Python etc.
Mais honnêtement, les améliorations ne méritent pas un "2.0".

Faire l'administration en responsive, modifier la syntaxe des filtres, et faire plein de "deprecations" c'est pas une v.2 (on sait tous que Python 2 est officiellement mort en 2020, supprimer son support n'est pas une énorme évolution).

Pour moi cela aurait dû être une v1.2 grand max.

Tout est si bien pensé dans Django, par rapport au Web, qu'il n'y a plus grand chose à ajouter :
- classes de vues parfaites,
- ORM parfait,
- organisation parfaite...

Bref, pour faire une v2 il faudrait faire un très gros "saut" (comme Symfony 3 à 4), ... il faudrait peut être ajouter un gros gestionnaire de "paquets Django" qui installerait des librairies tierces validées officiellement (REST, workflow/process et autres librairies qui ne sont pas indispensables mais très bien faites), et une administration full SPA en REST / JSON et là, oui, on aurait une vraie version 2.
0  0 
Avatar de SurferIX
Membre chevronné https://www.developpez.com
Le 08/12/2017 à 10:40
Citation Envoyé par wiztricks Voir le message
Stopper le support de Python2 oblige le développeur à migrer sous Python3... Ce qui n'est pas une mince affaire car même si côté technique, il a de la chance, il va falloir re-tester (ce qui coûte en temps). Puis avoir éventuellement des discussions et des décisions sur la migration des autres application et/ou le support d'environnements mixtes Python2/Python3.
Merci pour cette information, je la garde au chaud, je n'avais pas ça en tête quand on me parlait de nouvelle version "majeure".
0  0 
Avatar de Songbird
Expert confirmé https://www.developpez.com
Le 08/12/2017 à 13:25
je n'avais pas ça en tête quand on me parlait de nouvelle version "majeure".
Jette un œil à ceci, si ça t'intéresse.
0  0 
Avatar de Thierry Chappuis
Expert confirmé https://www.developpez.com
Le 10/12/2017 à 11:52
Aucune compatibilité n'est cassée et peut-être pas de grosse révolution pour cette 2.0. C'est simplement qu'à partir de Django 2.0, chaque version suivant une LTS (Long-terme support) devient une *.0 (loose semantic versioning).

Avec mes meilleures salutations

Thierry
0  0