URL: https://linuxfr.org/news/sortie-de-flask-0-11 Title: Sortie de Flask 0.11 Authors: jihele dovik, palm123, Nils Ratusznik, Nÿco et Stefane Fermigier Date: 2016年05月30日T13:10:23+02:00 License: CC By-SA Tags: flask et python Score: 43 Flask est un micro-framework web pour Python publié sous licence BSD. Il est basé sur [Werkzeug](https://www.palletsprojects.com/p/werkzeug/), [Jinja2](https://www.palletsprojects.com/p/jinja/), [MarkupSafe](https://www.palletsprojects.com/p/markupsafe/), [ItsDangerous](https://www.palletsprojects.com/p/itsdangerous/) et [Click](https://www.palletsprojects.com/p/click/). La version 0.11 de Flask a été publiée le 29 mai 2016, sous le nom de code « Absinthe ». La version précédente, la 0.10.1, remontait au 14 juin 2013, soit presque trois ans. ![Flask](https://upload.wikimedia.org/wikipedia/commons/3/3c/Flask_logo.svg) ---- [Site officiel](http://flask.pocoo.org/) [Page PyPI](https://pypi.python.org/pypi/Flask) [Liste des modifications](https://github.com/pallets/flask/blob/master/CHANGES) [Code source (github)](https://github.com/pallets/flask) [Annonce officielle](https://www.palletsprojects.com/blog/flask-011-released/) ---- Longtemps prévue pour être la version 1.0, cette version sort finalement sous le numéro 0.11, amputée de quelques changements controversés. La nouvelle interface en ligne de commande de Flask a ainsi été modifiée pour ne pas dépendre de fonctionnalités spécifiques à la bibliothèque [Click](http://click.pocoo.org/). Il s'agit de la première version de Flask à sortir depuis la création du [Pallets Projects](https://www.palletsprojects.com/). Le Pallets Projects est un passage à la gestion communautaire de plusieurs projets initialement développés et gérés par Armin Ronacher seul. Parmi ces projets, on retrouve Flask et plusieurs développements Python ayant servi de base à celui-ci. Ce changement de gestion devrait permettre de sortir des nouvelles versions de Flask plus souvent. Une nouvelle version du site web du projet est prévue en même temps que la prochaine version du microframework. Modifications notables : - le navigateur est arrêté lors des recharges de fichiers plutôt que d'afficher une page « connexion réinitialisée », afin de rendre le développement plus agréable ; - nouveau support de la ligne de commande. Liste de changements : - `flask.jsonify` sérialise maintenant les listes. Cette fonctionnalité était désactivée dans les versions antérieures car elle pose un problème de sécurité avec les vieux navigateurs (ECAMScript 4). Il a été estimé que grâce à la correction dans ECMAScript 5, [cette vulnérabilité est obsolète](http://flask.pocoo.org/docs/0.11/security/#json-security). - Ajout du signal `before_render_template`. - Ajout de `**kwargs` à `flask.Test.test_client` pour pouvoir passer des paramètres nommés supplémentaires au constructeur de `flask.Flask.test_client_class`. - Ajout du paramètre de configuration `SESSION_REFRESH_EACH_REQUEST` qui contrôle le comportement des cookies pour les sessions permanentes. S'il est égal à `True`, à chaque requête, la durée de vie des cookies est étendue. S'il est à `False`, elle n'est étendue que si le cookie est modifié par la session. Le comportement est inchangé pour les sessions non permanentes et les cookies expirent quand le navigateur est fermé. - Support de types MIME JSON personnalisés pour les données entrantes. - Possibilité de renvoyer des tuples de la forme (response, headers) depuis une fonction vue. - Ajout des classes `flask.Config.from_json`, `flask.Config.from_mapping`, `flask.Flask.config_class`, `flask.config.Config.get_namespace`. - Par défaut, en dehors du mode `DEBUG`, les templates ne sont plus rechargés automatiquement. Ceci peut être configuré avec le paramètre de configuration `TEMPLATES_AUTO_RELOAD`. - Ajout de la commande `flask` et du module `flask.cli` pour démarrer le serveur de déboguage avec le système de ligne de commande `click`. Il est recommandé d'employer cette méthode plutôt que l'ancienne (`flask.run()`) car c'est plus rapide et plus sûr. Cette méthode remplace aussi `Flask-Script`. - Le logger est activé par défaut même si `debug` est désactivé. Le format de log est codé en dur, mais la gestion de log par défaut peut être désactivée avec le paramètre de configuration `LOGGER_HANDLER_POLICY`. - Ajout du flag de configuration EXPLAIN_TEMPLATE_LOADING qui dit à Flask d'expliquer comment il trouve les fichiers templates. Cela aidera les utilisateurs à déboguer quand les templates non-voulus sont actifs. - Les blueprints sont traités dans l'ordre dans lequel ils ont été enregistrés pour le chargement des templates. - Les tests ont été portés vers `py.test`. - `request.json` est déprécié en faveur de `request.get_json()`. - Ajout des séparateurs `pretty` et `compressed` à la méthode `jsonify()`. Par défaut, `JSONIFY_PRETTYPRINT_REGULAR=True` et la sortie de `jsonify()` est "pretty-printée". - Ajout d'un caractère "nouvelle ligne" à la fin des réponses `JSON` pour satisfaire certains clients qui ne prennent pas en charge les réponses ne respectant pas cette norme UNIX. (pull request [#1626](https://github.com/pallets/flask/pull/1262). - La méthode `OPTIONS` fournie automatiquement est maintenant correctement désactivée si l'utilisateur a enregistré une règle avec la version `options` en minuscule (demande [#1288](https://github.com/pallets/flask/issues/1288)). - `flask.json.jsonify` gère maintenant le type `datetime.date` (pull request [#1326](https://github.com/pallets/flask/pull/1326)). - Ne pas passer les informations sur les exceptions déjà rattrapées aux `teardown handlers` de contexte (pull request [#1393](https://github.com/pallets/flask/pull/1393)). - Authoriser les sous-classes personnalisées d'environnement `Jinja` (pull request [#1422](https://github.com/pallets/flask/pull/1422)). - `flask.g` a maintenant les méthodes `pop()` et `setdefault()`. - Activation de l'auto-échappement par défaut dans `flask.templating.render_template_string` (pull request [#1515](https://github.com/pallets/flask/pull/1515)). - `flask.ext` est rendu obsolète (pull request [#1484](https://github.com/pallets/flask/pull/1484)). Il faut maintenant utiliser la syntaxe `from flask_extension import` plutôt que `from flask.ext.extension import`. La seconde affiche un avertissement au lancement de l'application. - La fonction `send_from_directory` soulève une exception `BadRequest` si le nom du fichier n'est pas considéré comme valide par le système d'exploitation du serveur (pull request [#1763](https://github.com/pallets/flask/pull/1763)). - Ajout d'un paramètre de configuration `JSONIFY_MIMETYPE` (pull request [#1728](https://github.com/pallets/flask/pull/1728)). - Les exceptions déclenchées pendant la gestion de `teardown` ne laissent plus traîner des contextes d'application cassés. Une version 0.11.1 a été publiée quelques jours après, le 7 juin 2016 avec quelques corrections de bogues.

AltStyle によって変換されたページ (->オリジナル) /