{"id":264,"date":"2023-03-01T14:30:57","date_gmt":"2023-03-01T14:30:57","guid":{"rendered":"https:\/\/poyesis.fr\/blogs\/?p=264"},"modified":"2025-02-27T23:24:01","modified_gmt":"2025-02-27T23:24:01","slug":"laravel-10-nouvelles-fonctionnalites","status":"publish","type":"post","link":"https:\/\/poyesis.fr\/blogs\/laravel-10-nouvelles-fonctionnalites\/","title":{"rendered":"Laravel 10 : quelles sont les + de cette version ?"},"content":{"rendered":"<p>Dans l\u2019univers du d\u00e9veloppement web via PHP, le temps se divise en deux moments\u00a0: l\u2019\u00e2ge des t\u00e9n\u00e8bres pr\u00e9-Laravel et l\u2019\u00e9poque b\u00e9nie du framework open source Laravel.<\/p>\n<p>D\u2019une popularit\u00e9 sans pr\u00e9c\u00e9dent, ce framework PHP permet d\u2019utiliser PHP de mani\u00e8re beaucoup plus simple.<\/p>\n<p>Et justement, ce 14 f\u00e9vrier 2023, Taylor Otwell et ses \u00e9quipes ont offert un cadeau de Saint Valentin aux adeptes du langage de programmation \u00e0 l\u2019\u00e9l\u00e9phant\u00a0: Laravel 10.<\/p>\n<p>Sans plus tarder, voici quelques-unes des avanc\u00e9es majeures de cette nouvelle version de Laravel.<\/p>\n<h2>L\u2019int\u00e9gration de Jetstream<\/h2>\n<p>Cher Lecteur,<\/p>\n<p>Pour cr\u00e9er un site web, vous devrez \u00e0 tout prix impl\u00e9menter certaines fonctionnalit\u00e9s. La connexion \u00e0 l\u2019espace utilisateur, la v\u00e9rification des identifiants, etc. C\u2019est r\u00e9p\u00e9titif, long et fastidieux.<\/p>\n<p>Et c\u2019est l\u00e0 qu\u2019entre en jeu le package Jetstream.<\/p>\n<p>Jetstream est un ensemble de mod\u00e8les de code PHP pr\u00eat \u00e0 l&#8217;emploi. D\u2019ailleurs, si vous n\u2019avez pas choisi d\u2019utiliser un <a href=\"https:\/\/poyesis.fr\/blog\/creation-dun-site-e-commerce-cms-ou-developpement-personnalise\/\" target=\"_blank\" rel=\"noopener\">CMS tel que WordPress pour cr\u00e9er votre site d\u2019e-commerce<\/a>, il y a de fortes chances que vous l&rsquo;utilisez sans vous en rendre compte.<\/p>\n<p>Voici quelques-unes des fonctionnalit\u00e9s offertes par Laravel-Jetstream\u00a0:<\/p>\n<ul>\n<li aria-level=\"1\">la gestion des logins\u00a0;<\/li>\n<li aria-level=\"1\">l\u2019authentification \u00e0 deux facteurs (2FA)\u00a0;<\/li>\n<li aria-level=\"1\">la gestion des sessions.<\/li>\n<\/ul>\n<p>Avant Laravel 10, pour utiliser cette collection de starters kit dans votre application web, vous deviez parfois user de ligne de commande via votre IDE ou votre terminal. D\u00e9sormais, avec Laravel 10, Jetstream est directement int\u00e9gr\u00e9, y compris dans Laravel Blade.<\/p>\n<p>Pour les utilisateurs de MacOS et\/ou une distribution Linux telle qu\u2019Ubuntu, vous trouverez directement Laravel 10 dans Docker.<\/p>\n<h2>Des algorithmes de hachage plus rapide<\/h2>\n<p>Pendant longtemps, l\u2019algorithme SHA-1 a domin\u00e9 l\u2019univers du hachage chez les codeurs pro-Laravel.<\/p>\n<p>Mais cela pourrait changer gr\u00e2ce \u00e0 l\u2019int\u00e9gration d\u2019un nouvel algorithme beaucoup plus rapide\u00a0: xxHash.<\/p>\n<p>Plus performant, et avec une meilleure dispersion, xxHash vient ravir les c\u0153urs des d\u00e9veloppeurs soucieux d\u2019un meilleur chiffrement de leurs donn\u00e9es.<\/p>\n<p>Attention toutefois\u00a0: certaines fonctions de Laravel attendent toujours que les noms des sorties des fonctions de hachage soient retourn\u00e9s au format SHA-1.<\/p>\n<p>Cette nouvelle m\u00e9thode n\u2019est donc pas support\u00e9e par tous les paquets des anciennes versions de Laravel.<\/p>\n<p>Ainsi, soyez vigilant sur ce point jusqu\u2019\u00e0 ce que des correctifs corrigent ces bugs.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-265\" src=\"https:\/\/poyesis.fr\/blogs\/wp-content\/uploads\/2023\/02\/Laptop-avec-code-PHP.jpg\" alt=\"Ordinateur avec un code PHP\" width=\"387\" height=\"581\" srcset=\"https:\/\/poyesis.fr\/wp-content\/uploads\/2023\/02\/Laptop-avec-code-PHP.jpg 387w, https:\/\/poyesis.fr\/wp-content\/uploads\/2023\/02\/Laptop-avec-code-PHP-200x300.jpg 200w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><\/p>\n<h2>Pennant\u00a0: le feature flag maison de Laravel 10<\/h2>\n<p>Gr\u00e2ce \u00e0 un feature flag, vous pouvez d\u00e9cider de donner l\u2019acc\u00e8s \u00e0 certaines fonctionnalit\u00e9s \u00e0 certains usagers selon une liste de crit\u00e8res bien pr\u00e9cis.<\/p>\n<p>Et justement, gr\u00e2ce \u00e0 Laravel 10, c\u2019est d\u00e9sormais plus simple qu\u2019auparavant\u00a0: vous n\u2019avez qu\u2019\u00e0 d\u00e9finir des crit\u00e8res dans un <i>service provider<\/i> et le tour est jou\u00e9.<\/p>\n<p>Toutefois, pour l\u2019utiliser, n\u2019oubliez pas d\u2019ajouter le paquet correspondant<\/p>\n<h2>Optimisation Eager Loading, pour des temps de chargement plus courts<\/h2>\n<p>Honn\u00eatement, l\u2019on serait plus tent\u00e9 de parler de correctif que d\u2019une r\u00e9elle mise \u00e0 jour, mais qu\u2019importe, cela fait toujours plaisir.<\/p>\n<p>Sur les anciennes versions, \u00e0 chaque fois que vous chargez des relations par anticipation en SQL depuis une base de donn\u00e9es, vous ex\u00e9cutez une requ\u00eate de la forme :<\/p>\n<p><i>Select * from \u2018nom de votre table\u2019 where 0 = 1.<\/i><\/p>\n<p>M\u00eame si cela fonctionne, ce type de requ\u00eate augmente inutilement la complexit\u00e9 et le temps d\u2019ex\u00e9cution de vos codes informatiques.<\/p>\n<p>Et pour cause, la clause \u201cWhere 0 = 1\u201d ne sera jamais valide. Aucune loi math\u00e9matique ne donnera jamais raison \u00e0 \u00ab\u00a00 = 1\u00a0\u00bb.<\/p>\n<p>On parle alors de requ\u00eates impossibles.<\/p>\n<p>Fort heureusement, la communaut\u00e9 de Laravel a pens\u00e9 \u00e0 nous autres, d\u00e9veloppeurs, en optimisant le chargement rapide.<\/p>\n<p>Dor\u00e9navant, avant de charger des relations par anticipation, Laravel 10 v\u00e9rifie d\u2019abord s\u2019il y a des cl\u00e9s disponibles dans la database. S\u2019il n\u2019y en a pas, alors votre programme retournera simplement une collection vide.<\/p>\n<p>Mais Laravel ne s&rsquo;arr\u00eate pas l\u00e0. Exit aussi les luttes de casting pour convertir les donn\u00e9es issues de vos bases de donn\u00e9es. Laravel 10 vous renvoie directement le type r\u00e9el de la colonne, et non plus son \u00e9quivalent DBAL.<\/p>\n<p>Cher Lecteur,<\/p>\n<p>Laravel 10 dispose encore d\u2019une pl\u00e9thore de fonctionnalit\u00e9s que nous n\u2019avons pas abord\u00e9es.<\/p>\n<p><a href=\"https:\/\/poyesis.fr\/contactez-nous\/\">Que dites-vous d\u2019en discuter avec nos d\u00e9veloppeurs afin de voir comment les utiliser pour votre projet ?<\/a> \u00c9crivez-nous.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans l\u2019univers du d\u00e9veloppement web via PHP, le temps se divise en deux moments\u00a0: l\u2019\u00e2ge des t\u00e9n\u00e8bres pr\u00e9-Laravel et l\u2019\u00e9poque b\u00e9nie du framework open source Laravel. D\u2019une popularit\u00e9 sans pr\u00e9c\u00e9dent, ce framework PHP permet d\u2019utiliser PHP de mani\u00e8re beaucoup plus simple. Et justement, ce 14 f\u00e9vrier 2023, Taylor Otwell et ses \u00e9quipes ont offert un [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":266,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jnews-multi-image_gallery":[],"jnews_single_post":{"format":"standard","override":[{"template":"7","single_blog_custom":"553","parallax":"1","fullscreen":"1","layout":"no-sidebar-narrow","sidebar":"default-sidebar","second_sidebar":"default-sidebar","sticky_sidebar":"1","share_position":"floatbottom","share_float_style":"share-normal","show_share_counter":"1","show_view_counter":"1","show_featured":"1","show_post_meta":"1","show_post_author":"1","show_post_author_image":"1","show_post_date":"1","post_date_format":"default","post_date_format_custom":"Y\/m\/d","show_post_category":"1","post_reading_time_wpm":"300","post_calculate_word_method":"str_word_count","show_zoom_button":"0","zoom_button_out_step":"2","zoom_button_in_step":"3","number_popup_post":"1","show_post_related":"1"}],"image_override":[{"single_post_thumbnail_size":"crop-500","single_post_gallery_size":"crop-500"}],"trending_post_position":"meta","trending_post_label":"Trending","sponsored_post_label":"Sponsored by","disable_ad":"0","subtitle":""},"jnews_primary_category":[],"jnews_override_bookmark_settings":{"override_bookmark_button":"0","override_show_bookmark_button":"0"},"jnews_override_counter":{"view_counter_number":"0","share_counter_number":"0","like_counter_number":"0","dislike_counter_number":"0"},"footnotes":""},"categories":[113],"tags":[80,81,82,83,84,85],"class_list":["post-264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-actualite","tag-application-web","tag-developpement-web","tag-laravel","tag-laravel-10","tag-php","tag-sortie-de-laravel-10"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/posts\/264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/comments?post=264"}],"version-history":[{"count":1,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/posts\/264\/revisions"}],"predecessor-version":[{"id":1236,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/posts\/264\/revisions\/1236"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/media\/266"}],"wp:attachment":[{"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/media?parent=264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/categories?post=264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/poyesis.fr\/blogs\/wp-json\/wp\/v2\/tags?post=264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}