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

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    janvier 2013
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2013
    Messages : 320
    Points : 27 334
    Points
    27 334
    Billets dans le blog
    1

    Par défaut Django 1.9 disponible avec de nouvelles fonctionnalités

    Django 1.9 disponible avec de nouvelles fonctionnalités
    parmi lesquelles la validation des mots de passe et le support des tests en parallèle

    La nouvelle version du framework Web Diango, basé sur le langage Python est maintenant disponible. Dans cette nouvelle version, l’équipe de développement du framework met en avant plusieurs nouvelles fonctionnalités. Diango 1.9 requiert les versions 2.7, 3.4 ou 3.5 de Python pour fonctionner, cependant l’équipe de développement du framework recommande exclusivement aux développeurs et déclare ne supporter que les dernières versions de chaque série du langage. Pour rappel, le support des versions 3.2 et 3.3 a été supprimé depuis la version 1.8 de Django.
    Parmi les nouvelles fonctionnalités, celles plus mises en avant par l’équipe de Django et présentées comme majeures sont au nombre de cinq.

    Exécution d’actions après un commit d’une transaction
    La nouvelle fonction on_commit() permet d’effectuer des actions après avoir déclenché une transaction de base de données. Cela peut être particulièrement intéressant pour l’envoi de messages de notification, la création de tâches en attente ou pour invalider les caches par exemple. Cette fonctionnalité est disponible dans le package django-transaction-hooks.

    Validation de mots de passe
    Django offre maintenant la fonctionnalité de validation des mots de passe pour prévenir contre l’utilisation de mots de passe faibles d’un point de vue sécuritaire par les utilisateurs. La validation est intégrée au changement de mot de passe, au rechargement de formulaires et peut-être facilement intégrée dans n’importe quelle partie du code. La validation se fait en configurant un ou plusieurs valideurs à travers le paramètre AUTH_PASSWORD_VALIDATORS. Quatre valideurs sont utilisés par le framework dans sa version 1.9 à savoir celui qui exige à l’utilisateur une certaine longueur pour les mots de passe, celui qui compare le mot de passe aux attributs de l’utilisateur comme son nom et qui génère une erreur en cas d’égalité, celui qui permet de s’assurer qu’un mot de passe utilisateur ne soit pas composé uniquement de chiffres et celui qui vérifie que le mot n’est pas un mot de passe trop évident ou trop commun. Il est possible de combiner plusieurs valideurs pour obtenir des niveaux de sécurité des mots de passe avancés. Certains de ces valideurs donnent la possibilité au programmeur de personnaliser les configurations pour répondre à des besoins spécifiques. Par exemple, le développeur peut spécifier une liste des mots passe qu’il qualifie de communs pour interdire leur usage. Chaque valideur procure une aide sous forme de texte explicatif expliquant à l’utilisateur ce qu’il est obligatoire de renseigner. Par défaut, aucune validation sur les mots de passe n’est effectuée par le framework à la création d’un nouveau projet. Pour les mettre en œuvre, il faut ajouter une ligne contenant AUTH_PASSWORD_VALIDATORS comme dans le bout de code qui suit.

    Nom : Screen Shot 2015-12-05 at 09.10.51.png
Affichages : 3527
Taille : 46,0 Ko

    Le support des Mixins pour les vues basées sur les classes
    La nouvelle version du Framework Django apporte le support des Mixins AccessMixin, LoginRequiredMixin, PermissionRequiredMixin et UserPassesTestMixin permettant d’offrir les fonctionnalités de django.contrib.auth.decorators aux vues basées sur les classes. Les Mixins ont été inspirés du projet django-braces mais il existe cependant quelques différences d’implémentation entre Django et le projet django-braces. Dans Django :
    • l’attribut raise_exception ne peut prendre que les valeurs true ou false et les exceptions personnalisées ne sont pas supportées ;
    • la méthode handle_no_permission() ne requiert pas d’argument. La requête courante est obtenue en faisant self.request ;
    • la fonction test_func() de UserPassesTestMixin ne prend pas l’argument user. L’utilisateur courant est obtenu en faisant self.request.user ;
    • l’attribut permission_required peut être une chaine de caractères ou une liste de chaines de caractères qui doivent être renseignées pour autoriser l’accès ;
    • le nouvel attribut permission_denied_message permet d’associer un message à l’exception PermissionDenied.

    Nouveau style pour contrib.admin
    L’administrateur à la possibilité de définir un design moderne avec de nouvelles icônes SVG qui donne un rendu convivial sur les écrans HiDPI. Le nouveau style garantit une expérience utilisateur entièrement fonctionnelle avec les navigateurs YUI A-grade. Les anciens navigateurs peuvent présenter des dégradations progressives du rendu.

    Exécution de tests en parallèle
    La commande test supporte maintenant l’option --parallel permettant d’exécuter les tests d’un projet dans plusieurs processus en parallèle. Chaque processus possède sa propre base de données. Le programmeur doit cependant s’assurer que des cas de test différents n’ont pas accès aux mêmes ressources. Par exemple, un cas de test touchant au système de fichiers doit créer ses propres répertoires temporaires. Cette option est activée par défaut par la suite de test offerte par Django pour :
    • les systèmes d’exploitation le supportant (tous sauf Windows) ;
    • les bases de données le supportant (toutes sauf Oracle).

    En plus de ces fonctionnalités majeures, le framework apporte aussi d’autres fonctionnalités présentées comme mineures dont des améliorations pour django.contrib.admin, django.contrib.admindocs, django.contrib.auth, django.contrib.contenttypes, django.contrib.gis, django.contrib.postgres, django.contrib.sessions, django.contrib.sites et django.contrib.syndication.

    Source : DjangoProject

    Et vous ?

    Que pensez-vous de cette nouvelle version de Django ?

    Voir aussi

    le forum Django

    la rubrique Web Python (Cours, Tutoriels, FAQ, etc.)

  2. #2
    Membre extrêmement actif
    Avatar de Aurelien Plazzotta
    Homme Profil pro
    Programmeur D
    Inscrit en
    juillet 2006
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Programmeur D

    Informations forums :
    Inscription : juillet 2006
    Messages : 305
    Points : 1 014
    Points
    1 014

    Par défaut

    C'est assez curieux que les articles purement techniques n'intéressent personne. De plus en plus sur ce site (j'ai commencé à le consulter en 2003 avant de m'inscrire en 2006), seuls les articles à tendance polémique, brassant du vent ou facilement accessibles aux masses, suscitent désormais des réactions.

    Pour en revenir au sujet, il n'y a pas besoin de cadriciel pour faire de l'héritage multiple (mixin en anglais américain) !
    Je porte l'épée brisée, et sépare les vrais rois des tyrans. Qui suis-je ?

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Fullstack (Python)
    Inscrit en
    janvier 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Fullstack (Python)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2011
    Messages : 51
    Points : 97
    Points
    97

    Par défaut

    C'est vrai que les articles polémiques déchainent beaucoup plus les foules que ce genre d'article. Pourtant, je suis très content de consulter ce genre d'articles (sur Django) sur developpez.

    Pour en revenir au sujet principal, Django est vraiment un framework exceptionnel. Pour rébondir sur ton post, rien qu'hier, j'ai remarqué que Laravel ne gérait pas du tout l'héritage de model, que ce soit en héritage abstrait comme en héritage standard.
    C'est tellement frustrant de bosser avec des frameworks limités...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2007
    Messages : 25
    Points : 38
    Points
    38

    Par défaut

    Disons que les sujets plus larges touchent plus de gens et créent donc plus de réactions. Seuls les curieux sans expérience python & web (comme moi) se baladent sur ce genre d'articles sans laisser de traces (d'habitude )

  5. #5
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    13 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 13 737
    Points : 23 115
    Points
    23 115

    Par défaut

    Citation Envoyé par SurferIX Voir le message
    lorsqu'on crée un super user, il faut un mot de passe sécurisé. C'est n'importe quoi, d'une débilité profonde à tous les niveaux. Si le type derrière le clavier est un crétin et que son mot de passe c'est "u", laissez le bon sang ! Notre devoir est de l'avertir qu'il n'est pas fiable, qu'il n'est pas sécurisé. Là, oui. Mais pas lui interdire. Je déteste cela.
    C'est quelque chose qu'il faut essayer d'expliquer aux développeurs. Ceci dit, si un site Django se fait hacker à cause de mots de passe trop faibles, tous les admins et développeurs de sites Django se feront tancer par des décideurs (ceux qui paient) pour un manque de robustesse de la solution... alors qu'ils n'y sont pour rien. Et avec ces gens là, lorsque le doute s'installe, ce ne sont pas les arguments techniques qui vont "rassurer". Alors si être un peu coercitif peut éviter cela, ce n'est pas une mauvaise chose.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    13 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 13 737
    Points : 23 115
    Points
    23 115

    Par défaut

    Citation Envoyé par SurferIX Voir le message
    Si tous les plus gros sites, google, facebook et yahoo y compris, autorisent des mots de passe faibles et ne font qu'un avertissement, c'est que l'avertissement est suffisamment efficace pour faire réfléchir.
    Si on trouve leur mot de passe ce ne seront leurs données personnelles qui pourront être affectées.
    Dans le cas de la base de donnée d'une application Web, ce seront celles de n'importe qui....
    On ne parle pas vraiment de la même chose.

    Citation Envoyé par SurferIX Voir le message
    Et quand tu parle de se faire hacker, c'est uniquement avoir des droits admin sur la base de données, donc pouvoir faire n'importe quoi en tant qu'admin sur la base de données.
    Une sauvegarde efficace suffira à pouvoir tout restaurer.
    Encore faut-il détecter l'intrusion... Si çà prend quelques jours, les backups ne servent à rien: si on repart de J-n, il va falloir expliquer aux utilisateurs que tout le boulot fait ces n derniers jours est à refaire... Ils vont aimer... surtout s'il s'agit de commandes, d'ordres de fabrication, de livraisons, de factures, de virements,.... Un truc qui peut couler une boîte et mettre du monde au chômage du jour au lendemain...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre chevronné
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2012
    Messages
    1 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2012
    Messages : 1 672
    Points : 2 247
    Points
    2 247

    Par défaut

    Citation Envoyé par SurferIX Voir le message
    Une sauvegarde efficace suffira à pouvoir tout restaurer.
    oui bien sur, et perdre toutes les données depuis le jour du hack.
    j'espere qu'à l'entreprise ou tu bosses tu va pas faire ça
    "bonjour, patron ça va ? au fait, j'ai remis la sauvegarde d'il y a 3 jours à cause d'un hack" voilà bon c'est pas grave on as juste perdus toutes les données durant cette période"

  8. #8
    Membre chevronné
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2012
    Messages
    1 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2012
    Messages : 1 672
    Points : 2 247
    Points
    2 247

    Par défaut

    Citation Envoyé par SurferIX Voir le message
    aussi prétentieuses qu'incompétentes
    toujours des insultes .. ça deviens gave là. faut te calmer, faire du yoga, aller courir . je ne sais pas mais fais quelque chose

  9. #9
    Membre averti

    Inscrit en
    février 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : février 2007
    Messages : 189
    Points : 387
    Points
    387
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Aurelien Plazzotta Voir le message
    C'est assez curieux que les articles purement techniques n'intéressent personne. De plus en plus sur ce site (j'ai commencé à le consulter en 2003 avant de m'inscrire en 2006), seuls les articles à tendance polémique, brassant du vent ou facilement accessibles aux masses, suscitent désormais des réactions.
    Bon sang que tu as raison, est-ce par facilité intellectuelle je ne sais: mais c'est factuel.

    Citation Envoyé par Aurelien Plazzotta Voir le message
    Pour en revenir au sujet, il n'y a pas besoin de cadriciel pour faire de l'héritage multiple (mixin en anglais américain)
    Arf Python le fait très bien tout seul !

Discussions similaires

  1. SDL 2 : afficher votre premier sprite avec les nouvelles fonctionnalités de la bibliothèque
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 22/07/2016, 19h31
  2. Réponses: 1
    Dernier message: 31/03/2016, 01h23
  3. NetBeans 8.1 disponible avec de nouvelles fonctionnalités
    Par Victor Vincent dans le forum NetBeans
    Réponses: 4
    Dernier message: 23/12/2015, 09h29
  4. SharpDevelop 5 beta 1 est disponible avec de nouvelles fonctionnalités
    Par Francis Walter dans le forum Sharpdevelop
    Réponses: 7
    Dernier message: 23/05/2014, 13h39
  5. Réponses: 3
    Dernier message: 29/02/2012, 16h35

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