{"id":70669,"date":"2022-10-13T07:00:48","date_gmt":"2022-10-13T14:00:48","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=70669"},"modified":"2025-05-26T07:56:34","modified_gmt":"2025-05-26T14:56:34","slug":"php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/","title":{"rendered":"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour)"},"content":{"rendered":"\n<p>PHP 8.2 est pr\u00e9vu pour sortir en novembre de cette ann\u00e9e, la version stable la plus r\u00e9cente \u00e9tant PHP 8.1.5. Bien qu\u2019il soit encore t\u00f4t dans le processus, il y a eu un accueil mitig\u00e9 autour de PHP 8.2 et la compatibilit\u00e9 du noyau WordPress, des plugins et des th\u00e8mes.<\/p>\n\n\n<p>Cependant, savoir \u00e0 quoi s&#8217;attendre peut t&#8217;aider \u00e0 <a href=\"https:\/\/www.dreamhost.com\/blog\/update-php\/\" target=\"blank&quot;\" rel=\"noopener\">te pr\u00e9parer pour la derni\u00e8re version de PHP<\/a>. En te renseignant sur les nouvelles fonctionnalit\u00e9s et celles qui sont d\u00e9pr\u00e9ci\u00e9es, tu peux comprendre comment la mise \u00e0 jour pourrait affecter le d\u00e9veloppement. Cette connaissance peut \u00e9galement t&#8217;aider \u00e0 te pr\u00e9parer pour la sortie \u00e9ventuelle.<\/p>\n\n\n<p>Dans ce post, nous allons r\u00e9capituler les versions les plus r\u00e9centes de PHP. Ensuite, nous couvrirons les nouveaut\u00e9s de PHP 8.2 et discuterons du calendrier de sortie. Plongeons-y !<\/p>\n\n\n<h2 id=\"h-an-overview-of-php-versions\" class=\"wp-block-heading\"><b>Vue D\u2019ensemble Des Versions PHP<\/b><\/h2>\n\n\n<p><a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/214202188-PHP-overview\" target=\"blank&quot;\" rel=\"noopener\">PHP<\/a> est le principal langage de programmation de WordPress. Il joue un r\u00f4le essentiel dans la conversion des donn\u00e9es de ta base de donn\u00e9es en pages web HTML pour les visiteurs de ton site.<\/p>\n\n\n<p>En tant que propri\u00e9taire ou d\u00e9veloppeur de site web, tu es probablement d\u00e9j\u00e0 conscient de l&#8217;importance de maintenir \u00e0 jour ton noyau WordPress, tes th\u00e8mes et tes plugins. Cependant, il est \u00e9galement crucial de garder ton PHP \u00e0 jour.<\/p>\n\n\n<p><style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }<\/style><\/p>\n\n\n<div class=\"embed-container\"><iframe data-src=\"https:\/\/www.youtube.com\/embed\/G_O-mxZAk-g\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/div>\n\n\n<p>Actuellement, WordPress recommande d&#8217;utiliser au moins <a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"blank&quot;\" rel=\"noopener\">PHP 7.4<\/a>. Les anciennes versions de PHP ne b\u00e9n\u00e9ficient plus de support actif pour les mises \u00e0 jour de s\u00e9curit\u00e9 et la correction de bugs. Par cons\u00e9quent, la mise \u00e0 niveau vers la derni\u00e8re version <i>stable<\/i> de PHP peut entra\u00eener une meilleure s\u00e9curit\u00e9 du site, une performance am\u00e9lior\u00e9e et des niveaux de support plus \u00e9lev\u00e9s (nous soulignons <i>stable<\/i> car une partie des 60 000+ plugins de WordPress n&#8217;est pas encore totalement compatible avec PHP 8.0, donc il est judicieux d&#8217;aborder ces mises \u00e0 jour avec prudence).<\/p>\n\n\n<p>PHP 7.4 a introduit des propri\u00e9t\u00e9s typ\u00e9es, un s\u00e9parateur num\u00e9rique sous forme de trait bas, et diverses am\u00e9liorations. Depuis, il y a eu quelques <a href=\"https:\/\/php.watch\/versions\" target=\"blank&quot;\" rel=\"noopener\">it\u00e9rations de PHP<\/a> suppl\u00e9mentaires publi\u00e9es.<\/p>\n\n\n<p>PHP 8.0, sorti en novembre 2020, a introduit plusieurs fonctionnalit\u00e9s essentielles. En plus des am\u00e9liorations de syntaxe et de performance, la version incluait :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Param\u00e8tres nomm\u00e9s<\/li>\n\n\n\n<li>Syntaxe de correspondance<\/li>\n\n\n\n<li>Types d&#8217;union<\/li>\n\n\n\n<li>Promotion de propri\u00e9t\u00e9 de constructeur<\/li>\n\n\n\n<li>JIT (qui affecte l&#8217;ex\u00e9cution du code source par PHP)<\/li>\n\n\n<\/ul>\n\n\n<p>Un an plus tard, est arriv\u00e9 PHP 8.1, la derni\u00e8re version majeure de PHP. Cette mise \u00e0 jour inclut des fonctionnalit\u00e9s importantes, telles que :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Types d&#8217;intersection<\/li>\n\n\n\n<li>Propri\u00e9t\u00e9s en lecture seule<\/li>\n\n\n\n<li>\u00c9num\u00e9rations<\/li>\n\n\n\n<li>Fibres<\/li>\n\n\n\n<li>Type de retour jamais<\/li>\n\n\n<\/ul>\n\n\n<p>Rester \u00e0 jour avec les derni\u00e8res versions de PHP peut aider \u00e0 am\u00e9liorer les performances et la s\u00e9curit\u00e9 de ton site web. Cependant, il est important de conna\u00eetre les changements \u00e0 pr\u00e9voir avant de faire une mise \u00e0 niveau. Si tu es int\u00e9ress\u00e9 \u00e0 tester l&#8217;\u00e9tat actuel de PHP 8.2, tu peux le faire via <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-8.2\" target=\"blank&quot;\" rel=\"noopener\">GitHub<\/a>.<\/p>\n\n\n<h2 id=\"h-what-s-new-in-php-8-2\" class=\"wp-block-heading\"><b>Quoi De Neuf Dans PHP 8.2<\/b><\/h2>\n\n\n<p>PHP 8.2 est attendu pour une sortie \u00e0 la fin de l&#8217;ann\u00e9e 2022. Voici le <a href=\"https:\/\/wiki.php.net\/todo\/php82\" target=\"blank&quot;\" rel=\"noopener\">calendrier actuel des sorties<\/a>, avec la Disponibilit\u00e9 G\u00e9n\u00e9rale (GA) programm\u00e9e pour le 24 novembre 2022 :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>9 juin : Alpha 1<\/li>\n\n\n\n<li>23 juin : Alpha 2<\/li>\n\n\n\n<li>7 juillet : Alpha 3<\/li>\n\n\n\n<li>19 juillet : Gel des fonctionnalit\u00e9s<\/li>\n\n\n\n<li>21 juillet : B\u00eata 1<\/li>\n\n\n\n<li>4 ao\u00fbt : B\u00eata 2<\/li>\n\n\n\n<li>18 ao\u00fbt : B\u00eata 3<\/li>\n\n\n\n<li>1 septembre : Candidat \u00e0 la publication 1<\/li>\n\n\n\n<li>15 septembre : Candidat \u00e0 la publication 2<\/li>\n\n\n\n<li>29 septembre : Candidat \u00e0 la publication 3<\/li>\n\n\n\n<li>13 octobre : Candidat \u00e0 la publication 4<\/li>\n\n\n\n<li>27 octobre : Candidat \u00e0 la publication 5<\/li>\n\n\n\n<li>10 novembre : Candidat \u00e0 la publication 6<\/li>\n\n\n\n<li>24 novembre : GA<\/li>\n\n\n<\/ul>\n\n\n<p>Selon la documentation officielle sur le <a href=\"https:\/\/php.watch\/versions\/8.2\" target=\"_blank\" rel=\"noopener\">site web de PHP<\/a>, il devrait y avoir quelques nouvelles fonctionnalit\u00e9s et fonctions obsol\u00e8tes. Jetons un \u0153il \u00e0 certaines d&#8217;entre elles !<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-disjunctive-normal-form-dnf-types\"><b>Types de Forme Normale Disjonctive (DNF)<\/b><\/h3>\n\n\n<p>PHP 8.2 va <a href=\"https:\/\/wiki.php.net\/rfc\/dnf_types\" target=\"blank&quot;\" rel=\"noopener\">introduire<\/a> une nouvelle fonctionnalit\u00e9 de types en <a href=\"https:\/\/en.wikipedia.org\/wiki\/Disjunctive_normal_form\" target=\"blank&quot;\" rel=\"noopener\">Forme Normale Disjonctive (DNF)<\/a>. La DNF est une mani\u00e8re standardis\u00e9e d&#8217;organiser des expressions bool\u00e9ennes \u2014 sp\u00e9cifiquement, en une s\u00e9rie de ANDs combin\u00e9s par des ORs. Lorsque la DNF est appliqu\u00e9e aux d\u00e9clarations de type, elle permet une mani\u00e8re standard d&#8217;\u00e9crire des types Union et Intersection combin\u00e9s que l&#8217;analyseur peut g\u00e9rer.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-mysqli-execute-query-function-and-mysqli-execute-query-method\"><b>Nouvelle Fonction mysqli_execute_query et M\u00e9thode mysqli::execute_query<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/mysqli_execute_query\" target=\"blank&quot;\" rel=\"noopener\">L&#8217;ex\u00e9cution de requ\u00eates MySQLi param\u00e9tr\u00e9es<\/a> sera plus facile dans PHP 8.2, gr\u00e2ce \u00e0 la nouvelle fonction <span style=\"font-family: 'courier new', courier, monospace;\">mysqli_execute_query($sql, $params)<\/span> et \u00e0 la m\u00e9thode <span style=\"font-family: 'courier new', courier, monospace;\">mysqli::execute_query<\/span>.<\/p>\n\n\n<p>Cela r\u00e9duira davantage la complexit\u00e9 de l&#8217;utilisation de requ\u00eates param\u00e9tr\u00e9es, ce qui facilitera alors pour les d\u00e9veloppeurs de se d\u00e9tourner de <span style=\"font-family: 'courier new', courier, monospace;\">mysqli_query()<\/span> ainsi que de l&#8217;\u00e9chappement dangereux\/risqu\u00e9 des valeurs utilisateur.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-fetch-enum-properties-in-const-expressions\"><b>R\u00e9cup\u00e9rer les Propri\u00e9t\u00e9s Enum dans les Expressions Constantes<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/fetch_property_in_const_expressions\" target=\"blank&quot;\" rel=\"noopener\">Selon le RFC<\/a>, \u00ab Ce RFC propose de permettre l&#8217;utilisation de <span style=\"font-family: 'courier new', courier, monospace;\">-&gt;\/?-&gt;<\/span> pour extraire les propri\u00e9t\u00e9s des \u00e9num\u00e9rations dans les expressions constantes. La motivation principale pour ce changement est de permettre l&#8217;extraction des propri\u00e9t\u00e9s de nom et de valeur dans des endroits o\u00f9 les objets \u00e9num\u00e9ration ne sont pas autoris\u00e9s, comme les cl\u00e9s de tableau. \u00bb<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-random-extension\"><b>Nouvelle Extension Al\u00e9atoire<\/b><\/h3>\n\n\n<p>PHP 8.2 introduit une nouvelle extension PHP nomm\u00e9e <span style=\"font-family: 'courier new', courier, monospace;\">random<\/span>. Elle organise et consolide les fonctionnalit\u00e9s PHP existantes li\u00e9es \u00e0 la g\u00e9n\u00e9ration de nombres al\u00e9atoires. Elle introduit \u00e9galement une s\u00e9rie de structures de classes PHP et de classes d&#8217;exception pour fournir des options granulaires pour les g\u00e9n\u00e9rateurs de nombres al\u00e9atoires et la gestion des exceptions.<\/p>\n\n\n<p>L&#8217;extension al\u00e9atoire est int\u00e9gr\u00e9e \u00e0 PHP, et il n&#8217;y a pas d&#8217;option de configuration au moment de la compilation ou de l&#8217;ex\u00e9cution pour d\u00e9sactiver l&#8217;extension <span style=\"font-family: 'courier new', courier, monospace;\">random<\/span>. L&#8217;extension <span style=\"font-family: 'courier new', courier, monospace;\">random<\/span> sera toujours disponible dans PHP 8.2 et les versions ult\u00e9rieures.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-curl-upkeep-function\"><b>Nouvelle Fonction Curl_Upkeep<\/b><\/h3>\n\n\n<p>PHP 8.2 ajoute <a href=\"https:\/\/php.watch\/versions\/8.2\/curl_upkeep\" target=\"blank&quot;\" rel=\"noopener\">une nouvelle fonction<\/a> \u00e0 l&#8217;extension Curl appel\u00e9e <span style=\"font-family: 'courier new', courier, monospace;\">curl_upkeep<\/span>. La fonction curl_upkeep appelle <span style=\"font-family: 'courier new', courier, monospace;\">curl_easy_upkeep()<\/span> dans libcurl, qui est la biblioth\u00e8que C sous-jacente que l&#8217;extension PHP Curl utilise.<\/p>\n\n\n<p>La fonction <span style=\"font-family: 'courier new', courier, monospace;\">curl_upkeep()<\/span> r\u00e9alise le travail qui maintient une connexion Curl active. Cependant, tous les types de connexion que Curl int\u00e8gre ne prennent pas en charge le maintien de la connexion. Actuellement, seules les connexions HTTP\/2 le supportent.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-ini-parse-quantity-function\"><b>Nouvelle fonction ini_parse_quantity<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/php.watch\/versions\/8.2\/ini_parse_quantity\" target=\"blank&quot;\" rel=\"noopener\"><span style=\"font-family: 'courier new', courier, monospace;\">ini_parse_quantity<\/span><\/a> est une nouvelle fonction qui sera ajout\u00e9e \u00e0 PHP dans PHP 8.2. Elle analyse toute taille de donn\u00e9es reconnue par les valeurs INI de PHP (comme 56K, 256M ou 1G), puis retourne la taille des donn\u00e9es en octets. Elle peut \u00eatre utile pour analyser les valeurs INI existantes ou fournies dans une application PHP. Cependant, elle ne reconna\u00eet pas les suffixes IEC pour les tailles de donn\u00e9es comme MB, MiB ou GB, et elle n&#8217;est pas adapt\u00e9e pour convertir les valeurs de taille de donn\u00e9es standard en octets.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-memory-reset-peak-usage-function\"><b>Nouvelle fonction memory_reset_peak_usage<\/b><\/h3>\n\n\n<p>PHP 8.2 inclura une nouvelle fonction appel\u00e9e <a href=\"https:\/\/php.watch\/versions\/8.2\/memory_reset_peak_usage\" target=\"blank&quot;\" rel=\"noopener\"><span style=\"font-family: 'courier new', courier, monospace;\">memory_reset_peak_usage<\/span><\/a>. Elle r\u00e9initialisera la consommation maximale de m\u00e9moire renvoy\u00e9e par la fonction <span style=\"font-family: 'courier new', courier, monospace;\">memory_get_peak_usage<\/span>.<\/p>\n\n\n<p>Cette fonction sera utile pour les cas qui n\u00e9cessitent d&#8217;invoquer une action plusieurs fois et d&#8217;enregistrer l&#8217;utilisation maximale de la m\u00e9moire de chaque it\u00e9ration. Les d\u00e9veloppeurs pourront utiliser cette nouvelle fonctionnalit\u00e9 pour r\u00e9initialiser l&#8217;utilisation maximale de la m\u00e9moire \u00e0 n&#8217;importe quel moment pendant la dur\u00e9e de la requ\u00eate.<\/p>\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n<h3 class=\"wp-block-heading\" id=\"h-readonly-classes\"><b>Classes en Lecture Seule<\/b><\/h3>\n\n\n<p>Introduites dans PHP 8.1, les propri\u00e9t\u00e9s en lecture seule seront \u00e9tendues dans PHP 8.2 pour ajouter du sucre syntaxique afin que toutes les propri\u00e9t\u00e9s de classe soient en lecture seule en m\u00eame temps :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">readonly class Post\n{\npublic function __construct(\npublic string $title,\npublic Author $author,\npublic string $body,\npublic DateTime $publishedAt,\n) {}\n}<\/pre>\n\n\n<p>Cela emp\u00eachera l&#8217;ajout de propri\u00e9t\u00e9s dynamiques aux classes.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-null-true-and-false-standalone-types\"><b>Types Ind\u00e9pendants Null, True et False<\/b><\/h3>\n\n\n<p>Dans PHP 8.2, le type de retour false sera disponible en tant que type autonome plut\u00f4t que strictement un type d&#8217;union lorsqu&#8217;une erreur se produit, ce qui est d\u00e9j\u00e0 possible :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">function alwaysFalse(): false\n{\nreturn false;\n}<\/pre>\n\n\n<p>La m\u00eame chose est vraie pour le type null. Par exemple, en tant que type autonome, contrairement \u00e0 avant, NullPost::getAuthor() ne pourra retourner que null.<\/p>\n\n\n<p>PHP 8.2 permet \u00e9galement <a href=\"https:\/\/php.watch\/versions\/8.2\/true-type\" target=\"blank&quot;\" rel=\"noopener\">true<\/a> comme un type autonome.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-deprecate-dynamic-properties\"><b>D\u00e9pr\u00e9cier Les Propri\u00e9t\u00e9s Dynamiques<\/b><\/h3>\n\n\n<p><a href=\"https:\/\/php.watch\/versions\/8.2\/dynamic-properties-deprecated\" target=\"blank&quot;\" rel=\"noopener\">Les propri\u00e9t\u00e9s dynamiques<\/a> seront obsol\u00e8tes dans PHP 8.2, entra\u00eenant une ErrorException d&#8217;ici PHP 9.0. Ces propri\u00e9t\u00e9s sont d\u00e9finies sur un objet :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">class Post\n{\npublic string $title;\n}\n\n\/\/ \u2026\n\n$post-&gt;name = 'Nom';<\/pre>\n\n\n<p>Les propri\u00e9t\u00e9s dynamiques offrent de la flexibilit\u00e9 lors de la cr\u00e9ation de classes (par exemple, des objets de valeur) sans une d\u00e9claration de classe stricte. Leur d\u00e9pr\u00e9ciation sera probablement un probl\u00e8me pour les d\u00e9veloppeurs qui comptent sur les propri\u00e9t\u00e9s dynamiques car cela les poussera davantage vers l&#8217;analyse statique. Pour cette raison, certains d\u00e9veloppeurs sont inquiets face \u00e0 ce changement avec PHP 8.2.<\/p>\n\n\n<p>Toutefois, les classes utilisant __get et __set supporteront toujours les propri\u00e9t\u00e9s dynamiques, tout comme les objets de stdClass.<\/p>\n\n\n<p>Alternativement, les d\u00e9veloppeurs peuvent utiliser le nouvel <a href=\"https:\/\/php.watch\/versions\/8.2\/AllowDynamicProperties\" target=\"blank&quot;\" rel=\"noopener\">attribut #[AllowDynamicProperties]<\/a>, d\u00e9clar\u00e9 dans l&#8217;espace de noms global, sur les classes pour ces propri\u00e9t\u00e9s :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">#[AllowDynamicProperties]\nclass User() {}\n$user = new User();\n$user-&gt;foo = 'bar';<\/pre>\n\n\n<p>Bien que cela ne soit pas recommand\u00e9, une autre option consiste \u00e0 d\u00e9sactiver les avertissements de d\u00e9pr\u00e9ciation.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-new-n-modifier\"><b>Nouveau \/n Modificateur<\/b><\/h3>\n\n\n<p>PHP 8.2 inclura le support pour le <a href=\"https:\/\/php.watch\/versions\/8.2\/preg-n-no-capture-modifier\" target=\"blank&quot;\" rel=\"noopener\">modificateur \/n (sans capture)<\/a> pour la famille de fonctions preg_*. Lorsqu&#8217;utilis\u00e9, tout groupe avec des m\u00e9ta-caract\u00e8res () ne capturera pas, \u00e0 part les groupes captur\u00e9s qui sont nomm\u00e9s. En gros, le r\u00e9sultat est le m\u00eame que de marquer chaque groupe comme non capturant.<\/p>\n\n\n<p>La raison de ce changement est que le modificateur simplifie les expressions r\u00e9guli\u00e8res complexes pour plusieurs groupes. Plut\u00f4t que de marquer chaque groupe comme non capturant, les d\u00e9veloppeurs peuvent marquer tous les groupes comme non capturants. Ensuite, ils peuvent s\u00e9lectionner et nommer les groupes sp\u00e9cifiques qui doivent capturer.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-redact-parameters-in-back-traces\"><b>Expurger Les Param\u00e8tres Dans Les Traces Arri\u00e8re<\/b><\/h3>\n\n\n<p>De nombreux d\u00e9veloppeurs utilisent des services qui suivent les traces de pile et les erreurs de production \u00e0 partir des bases de code. Ces services peuvent informer les utilisateurs si et quand quelque chose ne va pas. Par exemple, le suivi des piles d&#8217;appels est utile lors du d\u00e9bogage d&#8217;une application.<\/p>\n\n\n<p>Cependant, parfois les traces de pile peuvent contenir des informations sensibles, telles que des noms d&#8217;utilisateur et des mots de passe. PHP 8.2 inclura un <a href=\"https:\/\/php.watch\/versions\/8.2\/backtrace-parameter-redaction\" target=\"blank&quot;\" rel=\"noopener\">attribut #[SensitiveParameter]<\/a> qui emp\u00eachera ces informations d&#8217;\u00eatre incluses dans les traces de pile lorsque des erreurs se produisent :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">function test(\n$foo,\n#[SensitiveParameter] $bar,\n$baz\n) {\nthrow new Exception('Erreur');\n}\n\ntest('foo', 'bar', 'baz');<\/pre>\n\n\n<p>PHP 8.2 utilisera les param\u00e8tres sensibles pour masquer les informations priv\u00e9es dans les traces de pile, les rendant plus s\u00e9curis\u00e9es. Ces param\u00e8tres garantissent que les donn\u00e9es ne se retrouveront pas dans les journaux d&#8217;erreurs. Notez que cet attribut sera uniquement disponible pour une utilisation sur les param\u00e8tres.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-deprecate-string-interpolation\"><b>D\u00e9pr\u00e9cier L&#8217;interpolation De Cha\u00eene ${}<\/b><\/h3>\n\n\n<p>Il existe plusieurs mani\u00e8res d&#8217;int\u00e9grer des variables dans des cha\u00eenes avec PHP. Cependant, PHP 8.2 va d\u00e9pr\u00e9cier deux m\u00e9thodes. La premi\u00e8re consiste \u00e0 utiliser ${} dans les cha\u00eenes :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">\"Salut ${world}\";<\/pre>\n\n\n<p>La seconde consiste \u00e0 utiliser ${} (variables variables) :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">\"Bonjour ${(world)}\";<\/pre>\n\n\n<p>Cela ne sera probablement pas un probl\u00e8me significatif pour les d\u00e9veloppeurs car les deux m\u00e9thodes d&#8217;interpolation de cha\u00eenes les plus populaires fonctionneront toujours.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-deprecate-partially-supported-callables\"><b>D\u00e9pr\u00e9cier Les Appels Partiellement Support\u00e9s<\/b><\/h3>\n\n\n<p>Un autre changement d\u00e9pr\u00e9ci\u00e9 concernera les <a href=\"https:\/\/php.watch\/versions\/8.2\/partially-supported-callable-deprecation\" target=\"blank&quot;\" rel=\"noopener\">appels partiellement support\u00e9s<\/a>. Il existe plusieurs mani\u00e8res de cr\u00e9er un appelable en PHP. Il peut \u00eatre appel\u00e9 soit avec soit sans param\u00e8tres avec la syntaxe $callable(), la user_call_func(\/a_array), ou en utilisant une fonction avec un rappel.<\/p>\n\n\n<p>Les motifs appelables obsol\u00e8tes incluent les suivants :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">$callable = \"self::method\";\n$callable = \"parent::method\";\n$callable = \"static::method\";\n$callable = [\"self\", \"method\"];\n$callable = [\"parent\", \"method\"];\n$callable = [\"static\", \"method\"];\n$callable = [\"MyClass\", \"MyParentClass::myMethod\"];\n$callable = [new MyClass(), \"MyOtherClass::myMethod\"];<\/pre>\n\n\n<p>\u00c0 partir de PHP 8.2, l&#8217;appel de l&#8217;une des fonctions ci-dessus entra\u00eenera l&#8217;affichage de l&#8217;avis de d\u00e9pr\u00e9ciation suivant :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">class Test {\npublic static function myMethod(): void {\necho \"Appel\u00e9\";\n}<\/pre>\n\n\n<pre class=\"wp-block-preformatted\">public static function call(): void {\n$callable = 'self::myMethod';\ncall_user_func($callable);\n}\n}<\/pre>\n\n\n<pre class=\"wp-block-preformatted\">$callable = Test::call();\n\/\/ \"Appel\u00e9\";<\/pre>\n\n\n<p>Cependant, passer ces fonctions \u00e0 la fonction <span style=\"font-family: 'courier new', courier, monospace;\">is_callable<\/span> ou les utiliser avec les types de param\u00e8tres callable ne g\u00e9n\u00e9rera pas le message de d\u00e9pr\u00e9ciation. Pour \u00e9viter le message de d\u00e9pr\u00e9ciation, les d\u00e9veloppeurs peuvent convertir les mots-cl\u00e9s parent, self et static dans le code callable en leurs noms de classe respectifs en utilisant la m\u00e9thode magique ::class.<\/p>\n\n\n<p>Une partie de la raison derri\u00e8re ce changement est de permettre l&#8217;utilisation de fonctions appelables pour les propri\u00e9t\u00e9s typ\u00e9es. Cela les rend moins d\u00e9pendantes du contexte.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mysqli-can-no-longer-be-compiled-with-libmysql\"><b>MySQLi Ne Peut Plus \u00catre Compil\u00e9 Avec libmysql<\/b><\/h3>\n\n\n<p>Dans le pass\u00e9, PHP a pris en charge deux biblioth\u00e8ques pour connecter les bases de donn\u00e9es MySQL : mysqlnd et libmysql. \u00c0 partir de PHP 5.4, la premi\u00e8re a \u00e9t\u00e9 la biblioth\u00e8que par d\u00e9faut. Cependant, il a \u00e9t\u00e9 possible de compiler MySQLi via des extensions.<\/p>\n\n\n<p>\u00c0 partir de PHP 8.2, compiler une extension MySQLi avec <a href=\"https:\/\/php.watch\/versions\/8.2\/mysqli-libmysql-no-longer-supported\" target=\"blank&quot;\" rel=\"noopener\">libmysql ne sera plus pris en charge<\/a>. Tenter de le faire entra\u00eenera une erreur de configuration :<\/p>\n\n\n<pre class=\"wp-block-preformatted\">.\/configure --with-mysqli=FOO<\/pre>\n\n\n<p>La liaison de mysqli avec une biblioth\u00e8que externe n&#8217;est plus prise en charge<\/p>\n\n\n<p>Cela ne causera probablement pas d&#8217;erreurs significatives pour les d\u00e9veloppeurs. Toutefois, les deux principales fonctionnalit\u00e9s prises en charge par libmysql qui ne sont pas disponibles avec mysqlnd sont prises en charge pour la reconnexion automatique et l&#8217;authentification via LDAP et SASL.<\/p>\n\n\n<h2 id=\"h-keep-your-wordpress-php-version-up-to-date\" class=\"wp-block-heading\"><b>Garde Ta Version PHP De WordPress \u00c0 Jour<\/b><\/h2>\n\n\n<p>En tant que d\u00e9veloppeur, il est essentiel de tester ton code contre les versions \u00e0 venir de PHP. Dans ce cas, les d\u00e9veloppeurs devraient commencer \u00e0 tester leur code contre PHP 8.2 d\u00e8s que possible pour s&#8217;assurer que ton code ne brise pas les sites des utilisateurs lorsqu&#8217;ils mettent \u00e0 jour.<\/p>\n\n\n\n\n\n\n<div\n\tclass=\"article-cta-shared article-cta-small\"\n>\n    <div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder-x2.webp 2x\"  alt=\"Ad background image\" \/><\/div>\n\n\n\n\n  <div class=\"content-btm\">\n    <h2\n      class=\"h2--md\"\n    >\n      L&#8217;Environnement de D\u00e9veloppement Parfait\n    <\/h2>\n    <p\n      class=\"p--md\"\n    >\n      Nous nous assurons que ton site est rapide, s\u00e9curis\u00e9 et toujours accessible afin que tes visiteurs te fassent confiance. Les plans d\u00e9butent \u00e0 partir de $1.99\/mois.\n    <\/p>\n\n            <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Choisis Ton Plan                    <\/a>\n\n  <\/div>\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>PHP 8.2 est pr\u00e9vu pour une sortie en novembre de cette ann\u00e9e, avec la version stable la plus r\u00e9cente \u00e9tant PHP 8.1.5. Bien qu&#8217;il soit encore t\u00f4t dans le processus, il y a eu des avis partag\u00e9s concernant PHP 8.2 et la compatibilit\u00e9 du noyau WordPress, des plugins et des th\u00e8mes. Cependant, savoir \u00e0 quoi s&#8217;attendre peut t&#8217;aider \u00e0 te pr\u00e9parer pour le dernier PHP [\u2026]<\/p>\n","protected":false},"author":1062,"featured_media":34862,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"PHP 8.2 devrait sortir en novembre cette ann\u00e9e. D\u00e9couvre plus sur les versions pr\u00e9c\u00e9dentes, les nouveaut\u00e9s de la 8.2, et comment tu peux te pr\u00e9parer pour la prochaine version.","toc_headlines":"[[\"h-an-overview-of-php-versions\",\"Vue D\u2019ensemble Des Versions PHP\"],[\"h-what-s-new-in-php-8-2\",\"Quoi De Neuf Dans PHP 8.2\"],[\"h-keep-your-wordpress-php-version-up-to-date\",\"Garde Ta Version PHP De WordPress \u00c0 Jour\"]]","hide_toc":false,"footnotes":""},"categories":[15005,14989],"tags":[],"class_list":["post-70669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-design-fr","category-tech-talk-fr"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour) - DreamHost Blog<\/title>\n<meta name=\"description\" content=\"PHP 8.2 devrait sortir en novembre cette ann\u00e9e. D\u00e9couvre plus sur les versions pr\u00e9c\u00e9dentes, les nouveaut\u00e9s de la 8.2, et comment tu peux te pr\u00e9parer pour la prochaine version.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour)\" \/>\n<meta property=\"og:description\" content=\"PHP 8.2 devrait sortir en novembre cette ann\u00e9e. D\u00e9couvre plus sur les versions pr\u00e9c\u00e9dentes, les nouveaut\u00e9s de la 8.2, et comment tu peux te pr\u00e9parer pour la prochaine version.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-13T14:00:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-26T14:56:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"598\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jason Cosper\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jason Cosper\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour) - DreamHost Blog","description":"PHP 8.2 devrait sortir en novembre cette ann\u00e9e. D\u00e9couvre plus sur les versions pr\u00e9c\u00e9dentes, les nouveaut\u00e9s de la 8.2, et comment tu peux te pr\u00e9parer pour la prochaine version.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/","og_locale":"en_US","og_type":"article","og_title":"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour)","og_description":"PHP 8.2 devrait sortir en novembre cette ann\u00e9e. D\u00e9couvre plus sur les versions pr\u00e9c\u00e9dentes, les nouveaut\u00e9s de la 8.2, et comment tu peux te pr\u00e9parer pour la prochaine version.","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2022-10-13T14:00:48+00:00","article_modified_time":"2025-05-26T14:56:34+00:00","og_image":[{"width":900,"height":598,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","type":"image\/jpeg"}],"author":"Jason Cosper","twitter_card":"summary_large_image","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Jason Cosper","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/"},"author":{"name":"Jason Cosper","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/2273b8bf7336df78f6d99a89c17253c4"},"headline":"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour)","datePublished":"2022-10-13T14:00:48+00:00","dateModified":"2025-05-26T14:56:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/"},"wordCount":2298,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","articleSection":["Design de Site Web","Tech Talk"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/","name":"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour) - DreamHost Blog","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","datePublished":"2022-10-13T14:00:48+00:00","dateModified":"2025-05-26T14:56:34+00:00","description":"PHP 8.2 devrait sortir en novembre cette ann\u00e9e. D\u00e9couvre plus sur les versions pr\u00e9c\u00e9dentes, les nouveaut\u00e9s de la 8.2, et comment tu peux te pr\u00e9parer pour la prochaine version.","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","width":900,"height":598,"caption":"what to expect with PHP 8.2"},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/fr\/php-82-quoi-sattendre-guide-du-dveloppeur-mis-jour-fr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP 8.2 : \u00c0 quoi s\u2019attendre (Guide du d\u00e9veloppeur \u2013 Mis \u00e0 jour)"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/2273b8bf7336df78f6d99a89c17253c4","name":"Jason Cosper","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","caption":"Jason Cosper"},"description":"Jason is DreamHost\u2019s WordPress Product Advocate, based out of Bakersfield, CA. He is currently working on making our DreamPress product even better. In his free time, he likes to curl up on the couch and watch scary movies with his wife Sarah and three very small dogs. Follow him on Twitter.","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/jasoncosper\/"}]}},"lang":"fr","translations":{"fr":70669,"es":34876,"en":34859,"de":50851,"pt":51398,"pl":51402,"ru":51405,"uk":51416,"it":68537,"nl":70695},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/70669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1062"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=70669"}],"version-history":[{"count":2,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/70669\/revisions"}],"predecessor-version":[{"id":70671,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/70669\/revisions\/70671"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/34862"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=70669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=70669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=70669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}