IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Django 2.2 est disponible


Sujet :

Django Python

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 875
    Points : 86 930
    Points
    86 930
    Billets dans le blog
    2
    Par défaut Django 2.2 est disponible
    Django 2.0 : le framework web ne va pas supporter Python 2
    une raison suffisante d’abandonner maintenant Python 2.x ?

    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 ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 875
    Points : 86 930
    Points
    86 930
    Billets dans le blog
    2
    Par défaut Django 2.0 est maintenant disponible
    Django 2.0 alpha 1 est maintenant disponible
    avec un aperçu complet des fonctionnalités de la prochaine version du framework Web écrit en Python

    Mise à jour le 04/12/2017 : Django 2.0 est disponible en version stable

    Django 2.0 est enfin disponible en version stable. Depuis la version alpha 1 sortie en septembre, toutes les fonctionnalités de Django 2.0 étaient déjà connues. Avec la bêta 1 sortie en octobre, l'équipe de développement du framework Web Python s'est donc concentrée sur la correction des bogues bloquants. Il s'agit des problèmes qui constituent une régression par rapport à une version précédente de Django ou des bogues importants dans une nouvelle fonctionnalité. Deux semaines après la première release candidate, Django 2.0 est maintenant disponible en version stable.

    Il s'agit d'une version majeure, mais il n'y a pas de changements majeurs de rupture de compatibilité (à part la suppression du support de Python 2.7). La mise à niveau ne devrait donc pas nécessiter des efforts supplémentaires par rapport à celles des versions précédentes. Il est aussi important de noter qu'avec la sortie de Django 2.0, Django 1.11 arrive à la fin du support principal. La dernière version de correction de bogues, 1.11.8, a été publiée le 2 décembre. Mais comme il s'agit d'une version bénéficiant d'un support à long terme, Django 1.11 recevra des correctifs de sécurité jusqu'en avril 2020.

    Notons également que Django 1.10 est arrivé à la fin de son support étendu. Tous les utilisateurs de Django 1.10 sont donc encouragés à passer à Django 1.11 ou des versions plus récentes pour continuer à recevoir des correctifs pour des problèmes de sécurité.

    Page de téléchargement Django

    Sources : Blog Django, Notes de version Django 2.0
    25/09/2017 : Django est un framework Web libre et open source, écrit en Python, avec pour objectif principal 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. Il 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.

    Django 2.0 est la prochaine version majeure du framework et depuis quelques jours, Django 2.0 alpha 1 est disponible. Cette version représente la première étape du cycle de publication de Django 2.0 et vous offre l'opportunité de tester les changements apportés dans la version 2.0. Il s'agit d'une étape importante parce qu'elle marque le gel de toutes les fonctionnalités majeures et mineures de Django 2.0.

    L'un des grands changements dans cette version, comme rapporté au début de l'année, est la fin du support de Python 2. Django 2.0 prend en charge Python 3.4, 3.5 et 3.6. La série Django 1.11.x est la dernière à prendre en charge Python 2.7 et Django 2.0 sera la dernière série de versions à supporter Python 3.4. Si vous prévoyez un déploiement de Python 3.4 au-delà de la fin de vie de Django 2.0 (avril 2019), il est donc recommandé d'utiliser Django 1.11 LTS (pris en charge jusqu'en avril 2020). Notez cependant que la fin de la vie de Python 3.4 est prévue pour mars 2019.

    Parmi les nouvelles fonctionnalités de Django 2.0, on note une syntaxe de routage d'URL simplifiée. La nouvelle fonction django.urls.path() offre une syntaxe de routage d'URL plus simple et plus lisible. Pour illustrer cela, cet exemple des versions précédentes de Django :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),
    pourrait être écrit comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    path('articles/<int:year>/', views.year_archive),
    La nouvelle syntaxe prend en charge la coercition de type des paramètres d'URL. Dans l'exemple, la vue (views) recevra l'argument year comme nombre entier et non comme une chaîne.

    Il faut également noter qu'avec Django 2.0, contrib.admin sera optimisé pour le mobile. L'admin est maintenant responsive et prend en charge tous les principaux appareils mobiles. Comme autre fonctionnalité, la nouvelle expression Window permet d'ajouter une clause OVER aux querysets.

    Pour le reste, il s'agit de fonctionnalités mineures détaillées dans les notes de version de Django 2.0 ; une longue liste à découvrir.

    Outre les nouvelles fonctionnalités, il y a bon nombre de changements incompatibles avec les versions précédentes du framework Web Python. On peut citer par exemple la suppression de la prise en charge des chaînes normales (appelées parfois chaînes d’octets ou bytestrings) dans certains endroits. C'est une conséquence du fait que Python 2 ne sera plus supporté. En effet, pour prendre en charge les chaînes natives de Python 2, les anciennes versions de Django ont dû accepter à la fois les bytestrings et les chaînes Unicode. Maintenant que Python 2 ne sera plus supporté, les développeurs sont donc invités à mettre à jour leur code pour limiter le plus possible l'utilisation des chaînes d'octets, car Django réduit désormais leur utilisation.

    Entre autres changements incompatibles avec les versions précédentes de Django, on peut encore noter la suppression du support d'Oracle 11.2. Cette version ne sera en effet plus supportée par Oracle après décembre 2020. Pour anticiper cela, Django 2.0 ne va supporter officiellement qu’Oracle 12.1+. Django 1.11 (pris en charge jusqu'en avril 2020) est peut-être la version à utiliser si vous voulez utiliser Oracle 11.2.

    Les notes de version fournissent également la liste exhaustive des changements incompatibles, des fonctionnalités supprimées et celles qui sont désormais obsolètes (donc à supprimer dans les versions à venir).

    Après la version Alpha 1 annoncée le 22 septembre, la première bêta est attendue dans un mois, avec la correction de tous les bogues non bloquants pour la sortie de Django 2.0. Après la bêta 1, seuls les bogues bloquants seront corrigés, c’est-à-dire les problèmes qui constituent une régression par rapport à une version précédente de Django ou des bogues importants dans une nouvelle fonctionnalité.

    Selon le calendrier actuel, la première release candidate de Django 2.0 devrait être disponible à la mi-novembre. Cette version marquera le gel des chaînes de traduction (il s'agit de marqueurs dans le code Python et les gabarits qui indiquent à Django qu'un texte doit être traduit dans la langue de l’utilisateur pour autant qu’il existe une traduction de ce texte dans cette langue). Deux semaines plus tard, ce sera la sortie de la version stable de Django 2.0 ou la RC 2 si nécessaire.

    Sources : Communiqué officiel, Notes de version

    Et vous ?

    Qu’en pensez-vous ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  3. #3
    Membre chevronné

    Homme Profil pro
    Mentaliste
    Inscrit en
    Mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 872
    Points : 1 813
    Points
    1 813
    Par défaut
    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.
    .I..

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut
    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
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre chevronné

    Homme Profil pro
    Mentaliste
    Inscrit en
    Mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 872
    Points : 1 813
    Points
    1 813
    Par défaut
    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".
    .I..

  6. #6
    Membre expert

    Avatar de Songbird
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Juin 2015
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 493
    Points : 3 872
    Points
    3 872
    Billets dans le blog
    8
    Par défaut
    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.
    Avant de poster: FAQ Rust; FAQ Dart; FAQ Java; FAQ JavaFX.
    Vous souhaiteriez vous introduire au langage Rust ? C'est par ici ou ici !
    Une question à propos du langage ? N'hésitez pas à vous rendre sur le forum !


    Pour contribuer à la rubrique, vous pouvez me contacter par MP (Sorry, we're closed!) ou contacter directement la rédaction.

  7. #7
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 508
    Points
    5 508
    Par défaut
    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
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  8. #8
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 875
    Points : 86 930
    Points
    86 930
    Billets dans le blog
    2
    Par défaut Django 2.2 est disponible au téléchargement : un aperçu des nouveautés
    Django 2.2 est disponible au téléchargement : un aperçu des nouveautés
    du framework de développement Web en Python

    Django est un framework Web libre et open source, écrit en Python, avec pour objectif principal 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. Il est le plus utilisé parmi les frameworks basés sur le langage Python et pour de nombreux développeurs, Django est probablement l'une des premières raisons pour lesquelles ils utilisent Python.

    La dernière version majeure du framework, la version 2.0, est sortie en décembre 2017. L'un des plus grands changements apportés était la fin du support de Python 2. Mais Django 2.0 a aussi introduit trois nouveautés majeures. La première est une syntaxe de routage d'URL simplifiée. La nouvelle fonction django.urls.path() offre en effet une syntaxe de routage d'URL plus simple et plus lisible.

    Pour illustrer cela, cet exemple des versions précédentes de Django :

    url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

    pourrait être écrit comme suit :

    path('articles/<int:year>/', views.year_archive),

    La nouvelle syntaxe prend en charge la coercition de type des paramètres d'URL. Dans l'exemple, la vue (views) recevra l'argument year comme nombre entier et non comme une chaîne.

    Il faut également noter qu'avec Django 2.0, contrib.admin a été optimisé pour le mobile. L'admin est maintenant responsive et prend en charge tous les principaux appareils mobiles. La troisième fonctionnalité majeure est que la nouvelle expression Window permet d'ajouter une clause OVER aux querysets. Pour le reste, il s'agissait de fonctionnalités mineures.

    Django 2.1, publié en août 2018, a apporté comme principale nouveauté une permission view au modèle Meta.default_permissions. Cela permet aux utilisateurs d’avoir un accès en lecture seule aux modèles de l’admin. Elle est créée automatiquement lors de l'exécution de migrate.


    Huit mois plus tard, l'équipe Django annonce la version 2.2 du framework Python. Cette version a été désignée comme une version bénéficiant d'un support à long terme (LTS), ce qui signifie que les correctifs de sécurité et de perte de données seront appliqués pendant au moins les trois prochaines années. Elle recevra également des correctifs pour les bogues bloquants, les bogues majeurs dans les fonctionnalités nouvellement introduites et les régressions à partir d'anciennes versions de Django pour les huit prochains mois jusqu'à décembre 2019.

    Pour en venir aux nouveautés, celles mises en avant par l'équipe Django sont les suivantes :

    • l'ajout de HttpRequest.headers pour permettre un accès simple aux en-têtes d’une requête ;
    • l'ajout de contraintes de base de données sur les modèles : les nouvelles classes CheckConstraint et UniqueConstraint permettent d'ajouter des contraintes de base de données personnalisées. Les contraintes sont ajoutées aux modèles à l'aide de l'option Meta.constraints ;
    • Compatibilité Watchman pour runserver. Rappelons que Watchman est un outil open source et multiplateforme développé Facebook pour permettre aux développeurs de détecter et enregistrer les modifications de fichiers. runserver (une commande qui démarre un serveur de développement léger sur la machine locale) peut désormais utiliser Watchman pour améliorer les performances de surveillance des modifications sur un grand nombre de fichiers.

    Pour le reste des changements, il s'agit de fonctionnalités mineures qui ont été ajoutées tandis que d'autres fonctionnalités sont désormais obsolètes. Vous trouverez plus de détails dans les notes de version.

    Rappelons aussi qu'avec la sortie de Django 2.2, Django 2.1 a atteint la fin du support principal. La dernière version de correction de bogues (v2.1.8) vient aussi de sortir. Django 2.1 recevra des correctifs de sécurité et de perte de données jusqu’en décembre 2019. Tous les utilisateurs sont donc encouragés à effectuer la mise à niveau.

    Téléchargements

    Sources : Annonce officielle de Django 2.2, Notes de version

    Et vous ?

    Utilisez-vous Django pour développer en Python ? Au quotidien ou de manière occasionnelle ? Au travail ou à la maison ?
    Que pensez-vous de ces nouveautés ? Lesquelles appréciez-vous le plus ? Pourquoi ?
    Qu'attendez-vous du framework par rapport aux concurrents ?

    Voir aussi :

    PyCharm 2019.1 est disponible, l'EDI Python vient avec une meilleure intégration de Jupyter Notebook, un keymap pour Sublime Text et bien plus
    Python est plus utilisé pour la data science que pour le développement Web, d'après une enquête réalisée par la Python Software Foundation
    Quels sont vos frameworks Web Python préférés en 2018 ? Pourquoi ? Partagez vos avis
    Python : Flask passe à la version 1.0, le micro-framework de développement web se dote de nouvelles fonctionnalités
    Django 2.0 est disponible en version stable, quelles sont les nouveautés dans cette version du framework Web écrit en Python ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

Discussions similaires

  1. Lequel de Django ou de Flask serait le framework Web Python d'avenir ?
    Par Victor Vincent dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 29/10/2015, 01h48
  2. Comment tester différents Frameworks web ?
    Par jazer dans le forum Frameworks Web
    Réponses: 2
    Dernier message: 13/09/2006, 18h31
  3. Appel à contributions pour un framework web PHP
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 02/09/2006, 16h37
  4. [Info]framework WEB
    Par brunolocal dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/01/2005, 03h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo