{"id":16110526,"date":"2024-08-27T14:14:17","date_gmt":"2024-08-27T14:14:17","guid":{"rendered":"https:\/\/wpml.org\/annonces-fr\/2024\/08\/configurer-un-environnement-de-developpement-local-wordpress-avec-docker-xdebug-et-phpstorm\/"},"modified":"2024-08-27T14:55:56","modified_gmt":"2024-08-27T14:55:56","slug":"configurer-un-environnement-de-developpement-local-wordpress-avec-docker-xdebug-et-phpstorm","status":"publish","type":"post","link":"https:\/\/wpml.org\/fr\/didacticiels\/2024\/08\/configurer-un-environnement-de-developpement-local-wordpress-avec-docker-xdebug-et-phpstorm\/","title":{"rendered":"Configurer un environnement de d\u00e9veloppement local WordPress avec Docker, Xdebug et PhpStorm"},"content":{"rendered":"\n<p class=\"lead\">Avec Docker Compose, Xdebug et PhpStorm, vous pouvez cr\u00e9er un environnement de d\u00e9veloppement local reproductible, isol\u00e9 et facilement g\u00e9rable qui refl\u00e8te un serveur de production, am\u00e9liorant ainsi la qualit\u00e9 de vos projets WordPress.<\/p>\n\n<p>Bonjour chers d\u00e9veloppeurs et utilisateurs avanc\u00e9s de WordPress !\nAujourd&rsquo;hui, je suis ravi de partager un tutoriel complet mais simple sur la configuration d&rsquo;un environnement de d\u00e9veloppement local WordPress en utilisant Docker Compose.\nAyant r\u00e9cemment rejoint l&rsquo;\u00e9quipe dynamique de <a href=\"https:\/\/onthegosystems.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">OnTheGoSystems<\/a>, j&rsquo;ai d\u00e9cid\u00e9 d&rsquo;apporter ma zone de confort avec moi, ce qui est l&rsquo;objet de cette configuration.  <\/p>\n\n<p>L&rsquo;objectif \u00e9tait simple : d\u00e9velopper une configuration o\u00f9 je pourrais avoir un contr\u00f4le granulaire sur mes outils de d\u00e9veloppement, en int\u00e9grant Xdebug et WP-CLI avec l&rsquo;image officielle Docker de WordPress.\nCette configuration ne vise pas \u00e0 r\u00e9inventer la roue, mais \u00e0 la personnaliser pour qu&rsquo;elle s&rsquo;aligne avec les pr\u00e9f\u00e9rences et les styles de travail individuels.\nJ&rsquo;esp\u00e8re que ce guide vous sera utile pour configurer un environnement similaire, am\u00e9liorant ainsi votre parcours dans le d\u00e9veloppement WordPress.  <\/p>\n\n<h2 class=\"wp-block-heading\">Pr\u00e9requis<\/h2>\n\n<p>Pour tirer le meilleur parti de ce tutoriel, vous devrez avoir les d\u00e9pendances suivantes install\u00e9es :<\/p>\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.docker.com\/engine\/install\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Docker<\/strong><\/a> : Nous utiliserons Docker comme notre principal outil pour cr\u00e9er, d\u00e9ployer et ex\u00e9cuter des applications en utilisant des conteneurs.\nIl nous permet d&#8217;emballer une application avec toutes les parties dont elle a besoin dans un conteneur, et de l&rsquo;exp\u00e9dier comme un seul paquet.\nCe qui rend Docker encore plus puissant, c&rsquo;est sa promesse de contr\u00f4le granulaire, nous permettant de d\u00e9finir pr\u00e9cis\u00e9ment chaque aspect de la configuration de notre application.\nCe contr\u00f4le aide \u00e0 cr\u00e9er un environnement de d\u00e9veloppement qui r\u00e9pond exactement \u00e0 nos besoins.   <\/li>\n\n\n\n<li><a href=\"https:\/\/chrome.google.com\/webstore\/detail\/xdebug-helper\/eadndfjplgieldjbigjakmdgkmoaaaoc\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Extension Chrome Xdebug<\/strong><\/a> : Cette extension de navigateur nous aidera \u00e0 parcourir notre code, \u00e0 rep\u00e9rer les bugs et \u00e0 am\u00e9liorer la qualit\u00e9 globale de nos projets WordPress.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.jetbrains.com\/phpstorm\/download\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>PhpStorm<\/strong><\/a> : Un IDE intelligent et complet pour PHP d\u00e9velopp\u00e9 par JetBrains.\nIl fournit un \u00e9diteur pour PHP, HTML et JavaScript avec une analyse de code en temps r\u00e9el et un refactoring automatis\u00e9 pour ces langages. <\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\">Pourquoi Docker, Xdebug et PhpStorm ?<\/h2>\n\n<p>Notre objectif est d&rsquo;\u00e9tablir un environnement de d\u00e9veloppement local WordPress qui soit isol\u00e9, reproductible et facilement g\u00e9rable.\nDocker forme la colonne vert\u00e9brale de cette configuration, fournissant l&rsquo;infrastructure pour contenir et g\u00e9rer notre application.\nXdebug et PhpStorm sont les pi\u00e8ces compl\u00e9mentaires de ce puzzle, offrant des capacit\u00e9s am\u00e9lior\u00e9es de d\u00e9veloppement et de d\u00e9bogage de code PHP.  <\/p>\n\n<p>Notre voyage commencera par la cr\u00e9ation d&rsquo;un Dockerfile qui \u00e9tend l&rsquo;image officielle Docker de WordPress.\nNous am\u00e9liorerons cette image en incorporant Xdebug et WP-CLI, des outils essentiels pour nos t\u00e2ches de d\u00e9veloppement et de d\u00e9bogage WordPress. <\/p>\n\n<p>Ensuite, nous r\u00e9digerons un fichier Docker Compose pour orchestrer deux services cl\u00e9s : WordPress et MySQL.\nEt croyez-le ou non, c&rsquo;est essentiellement tout !  <\/p>\n\n<p>La beaut\u00e9 de cette configuration est qu&rsquo;elle aboutit \u00e0 un environnement de d\u00e9veloppement local qui non seulement refl\u00e8te un serveur de production, mais est \u00e9galement facilement reproductible.\nCela signifie que nous pouvons dupliquer la configuration exacte sur plusieurs environnements ou machines avec facilit\u00e9, assurant la coh\u00e9rence et r\u00e9duisant les probl\u00e8mes li\u00e9s \u00e0 la configuration. <\/p>\n\n<h2 class=\"wp-block-heading\">Tutoriel \u00e9tape par \u00e9tape<\/h2>\n\n<h3 class=\"wp-block-heading\">\u00c9tape 1 : Le Dockerfile<\/h3>\n\n<p>Notre voyage commence par la cr\u00e9ation d&rsquo;un nouveau Dockerfile.\nCe fichier indique \u00e0 Docker comment construire notre image.\nVoici la configuration de base avec laquelle je commence g\u00e9n\u00e9ralement :  <\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Use the official WordPress image as a parent image\nFROM wordpress:latest\n\n# Install Xdebug\nRUN pecl install xdebug \n\n# Install WP-CLI\nRUN curl -O https:\/\/raw.githubusercontent.com\/wp-cli\/builds\/gh-pages\/phar\/wp-cli.phar &amp;amp;&amp;amp; \\\n    chmod +x wp-cli.phar &amp;amp;&amp;amp; \\\n    mv wp-cli.phar \/usr\/local\/bin\/wp\n\n# Copy xdebug.ini into the container\nCOPY xdebug.ini \/usr\/local\/etc\/php\/conf.d\/xdebug.ini\n\n<\/pre><\/div>\n<p>Dans ce Dockerfile, nous partons de l&rsquo;image officielle WordPress.\nNous installons ensuite Xdebug et WP-CLI s\u00e9par\u00e9ment pour plus de clart\u00e9 et de maintenabilit\u00e9.\nLe fichier de configuration Xdebug (<strong>xdebug.ini<\/strong>) est copi\u00e9 dans le r\u00e9pertoire appropri\u00e9 du conteneur.\nCela forme la base de ma configuration de r\u00e9f\u00e9rence pour un environnement de d\u00e9veloppement local WordPress.   <\/p>\n\n<h3 class=\"wp-block-heading\">\u00c9tape 2 : Le fichier de configuration Xdebug (xdebug.ini)<\/h3>\n\n<p>Maintenant que nous avons install\u00e9 Xdebug dans notre image Docker, nous devons le configurer pour qu&rsquo;il fonctionne dans notre environnement de d\u00e9veloppement local.\nCela implique de cr\u00e9er un fichier <strong>xdebug.ini<\/strong> avec les param\u00e8tres suivants : <\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nini\nzend_extension=xdebug\nxdebug.mode=debug\nxdebug.client_port=9003\nxdebug.start_with_request=yes\n\n<\/pre><\/div>\n<p>Ces param\u00e8tres activent l&rsquo;extension Xdebug, la configurent pour d\u00e9marrer le d\u00e9bogage \u00e0 chaque requ\u00eate et d\u00e9finissent le port client auquel elle doit se connecter (dans ce cas, 9003).\nVous avez peut-\u00eatre remarqu\u00e9 que nous n&rsquo;avons pas encore sp\u00e9cifi\u00e9 de <strong>client_host<\/strong>, mais ne vous inqui\u00e9tez pas, cela entrera en jeu tr\u00e8s bient\u00f4t dans notre processus de configuration. <\/p>\n\n<h3 class=\"wp-block-heading\">\u00c9tape 3 : Le fichier Docker Compose<\/h3>\n\n<p>Ensuite, nous allons cr\u00e9er un fichier <strong>docker-compose.yml<\/strong> qui configure nos services WordPress et MySQL :<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nyaml\nversion: &#039;3&#039;\nservices:\n  # MySQL Service\n  mysql:\n    image: mysql:latest\n    container_name: mysql_container\n    restart: always\n    volumes:\n      - db_data:\/var\/lib\/mysql\n    environment:\n      MYSQL_ROOT_PASSWORD: root\n      MYSQL_USER: wordpress\n      MYSQL_PASSWORD: wordpress\n      MYSQL_DATABASE: wordpress\n  \n  # WordPress Service\n  wordpress:\n    depends_on: \n      - mysql\n    image: wordpress:latest\n    container_name: wp_container\n    volumes:\n      - .\/wp_data:\/var\/www\/html\n    environment:\n      WORDPRESS_DB_HOST: mysql\n      WORDPRESS_DB_USER: wordpress\n      WORDPRESS_DB_PASSWORD: wordpress\n      WORDPRESS_DB_NAME: wordpress\n      WORDPRESS_DEBUG: 1\n      XDEBUG_CONFIG: client_host=host.docker.internal\n    ports:\n      - &quot;8000:8000&quot;\n\nvolumes:\n  db_data:\n\n<\/pre><\/div>\n<p>Dans ce fichier, nous avons d\u00e9fini deux services &#8211; MySQL et WordPress.\nChacun de ces services a des noms de conteneurs uniques, pour une r\u00e9f\u00e9rence et une gestion plus faciles. <\/p>\n\n<p>La directive <strong>restart: always<\/strong> garantit que le service red\u00e9marrera toujours s&rsquo;il s&rsquo;arr\u00eate de mani\u00e8re inattendue.\nS&rsquo;il est arr\u00eat\u00e9 manuellement, il red\u00e9marre uniquement lorsque le conteneur est red\u00e9marr\u00e9 manuellement. <\/p>\n\n<p>Le service MySQL monte un volume Docker (<strong>db_data<\/strong>), assurant un stockage persistant m\u00eame si le conteneur est supprim\u00e9.\nPour le service WordPress, nous montons un r\u00e9pertoire local (<strong>.\/wp_data<\/strong>) dans le conteneur.\nCela signifie que toute modification des fichiers WordPress sur notre syst\u00e8me local sera refl\u00e9t\u00e9e dans le conteneur.  <\/p>\n\n<p>Nous avons ajout\u00e9 deux variables d&rsquo;environnement suppl\u00e9mentaires pour le service WordPress &#8211; <strong>WORDPRESS_DEBUG<\/strong> pour activer le d\u00e9bogage de WordPress et <strong>XDEBUG_CONFIG<\/strong> pour sp\u00e9cifier l&rsquo;h\u00f4te client pour Xdebug.\nLe <strong>client_host<\/strong> est d\u00e9fini sur <strong>host.docker.internal<\/strong>, qui est un nom DNS sp\u00e9cial qui redirige vers l&rsquo;adresse IP interne de l&rsquo;h\u00f4te, permettant \u00e0 Xdebug de communiquer avec notre IDE sur l&rsquo;h\u00f4te. <\/p>\n\n<p>Veuillez noter que le param\u00e8tre <strong>client_host<\/strong> est adapt\u00e9 pour Windows et macOS.\nPour Linux, une alternative courante consiste \u00e0 remplacer <strong>host.docker.internal<\/strong> par l&rsquo;adresse IP r\u00e9elle de votre machine, qui peut \u00eatre obtenue via la commande terminale <strong>ip addr show<\/strong>. <\/p>\n\n<h3 class=\"wp-block-heading\">\u00c9tape 4 : Ex\u00e9cution de votre environnement de d\u00e9veloppement local WordPress<\/h3>\n\n<p>Une fois que votre Dockerfile, fichier de configuration Xdebug et fichier Docker Compose sont pr\u00eats, il est temps de donner vie \u00e0 votre environnement de d\u00e9veloppement local WordPress. <\/p>\n\n<p>Pour ce faire, naviguez simplement vers le r\u00e9pertoire contenant votre fichier Docker Compose dans le terminal, et ex\u00e9cutez la commande suivante :<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nbash\ndocker-compose up -d\n<\/pre><\/div>\n<p>Cette commande indiquera \u00e0 Docker de d\u00e9marrer vos services en arri\u00e8re-plan.<\/p>\n\n<p>Apr\u00e8s une ex\u00e9cution r\u00e9ussie, vous aurez un site WordPress fonctionnant sur votre machine locale, accessible via <strong>http:\/\/localhost:8000<\/strong>.\nToute modification que vous apportez \u00e0 vos fichiers PHP WordPress sera d\u00e9sormais refl\u00e9t\u00e9e sur ce site, offrant un moyen facile et efficace de d\u00e9velopper et de d\u00e9boguer votre application WordPress. <\/p>\n\n<p>De plus, votre service MySQL sera \u00e9galement op\u00e9rationnel, accessible sur le port 3306.\nCela fournit une base de donn\u00e9es MySQL enti\u00e8rement fonctionnelle pour votre application WordPress, reproduisant un environnement r\u00e9aliste pour vos besoins de d\u00e9veloppement. <\/p>\n\n<h3 class=\"wp-block-heading\">\u00c9tape 4.5 : \u00c9tape bonus &#8211; Ajout du fichier <strong>phpinfo.php<\/strong><\/h3>\n\n<p>Pour ceux qui souhaitent approfondir leur configuration PHP, nous pouvons introduire un fichier <strong>phpinfo.php<\/strong> dans notre image Docker.\nLorsqu&rsquo;il est acc\u00e9d\u00e9, ce fichier pr\u00e9sentera un aper\u00e7u complet de vos param\u00e8tres PHP.<br\/>Pour ajouter le fichier <strong>phpinfo.php<\/strong>, vous devrez d&rsquo;abord le cr\u00e9er dans le m\u00eame r\u00e9pertoire que votre <strong>Dockerfile<\/strong>.\nLe fichier doit contenir le code PHP suivant :  <\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n&lt;?php phpinfo(); ?&gt;\n<\/pre><\/div>\n<p>Ensuite, ajoutez la ligne suivante \u00e0 votre Dockerfile :<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n# Bonus: Copy phpinfo.php into the container\nCOPY phpinfo.php \/var\/www\/html\/phpinfo.php\n<\/pre><\/div>\n<p>Cette commande copiera le fichier <strong>phpinfo.php<\/strong> dans le r\u00e9pertoire racine de WordPress au sein de l&rsquo;image Docker. <\/p>\n\n<p>Pour garantir que ces modifications prennent effet, vous devrez reconstruire votre image Docker et red\u00e9marrer les services Docker Compose.\nEx\u00e9cutez les commandes suivantes dans votre terminal : <\/p>\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nbash\ndocker-compose down\ndocker-compose up -d --build\n<\/pre><\/div>\n<p>La commande <strong>docker-compose down<\/strong> arr\u00eate et supprime vos conteneurs Docker actuels.\nEnsuite, <strong>docker-compose up -d &#8211;build<\/strong> reconstruit l&rsquo;image Docker avec le fichier <strong>phpinfo.php<\/strong> nouvellement ajout\u00e9, et red\u00e9marre vos services WordPress et MySQL en arri\u00e8re-plan.<br\/>Vous pouvez maintenant acc\u00e9der au fichier <strong>phpinfo.php<\/strong> en naviguant vers <strong>http:\/\/localhost:8000\/phpinfo.php<\/strong> dans votre navigateur web.\nIci, vous verrez une page d\u00e9taill\u00e9e d\u00e9crivant votre configuration PHP, qui peut \u00eatre une ressource pr\u00e9cieuse pour le d\u00e9bogage et la v\u00e9rification.  <\/p>\n\n<h3 class=\"wp-block-heading\">\u00c9tape 5 : Commencez le d\u00e9bogage<\/h3>\n\n<p>Maintenant que vous avez configur\u00e9 votre environnement de d\u00e9veloppement local WordPress avec Docker, Xdebug et PhpStorm, vous pouvez commencer \u00e0 d\u00e9boguer votre site WordPress.\nVoici un aper\u00e7u rapide de la fa\u00e7on de commencer : <\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Configurer Xdebug dans PhpStorm<\/strong> : Ouvrez PhpStorm et allez dans <strong>Fichier \u2192 Param\u00e8tres<\/strong> (<strong>Pr\u00e9f\u00e9rences<\/strong> sur Mac) <strong>\u2192 Langages &amp; Frameworks \u2192 PHP \u2192 Debug<\/strong>.\nDans la section <strong>Xdebug<\/strong>, assurez-vous que le <strong>port de d\u00e9bogage<\/strong> est r\u00e9gl\u00e9 sur <strong>9003<\/strong> et que l&rsquo;option <strong>Peut accepter des connexions externes<\/strong> est coch\u00e9e. <\/li>\n\n\n\n<li><strong>Ajouter un serveur PhpStorm<\/strong> : Naviguez vers <strong>PHP \u2192 Serveurs<\/strong>.\nAjoutez un nouveau serveur avec le nom <strong>wordpress<\/strong> et l&rsquo;h\u00f4te <strong>localhost<\/strong>.\nR\u00e9glez le port sur 8000.\nAssurez-vous que les mappages de chemin sont correctement d\u00e9finis &#8211; le chemin absolu sur le serveur pour le dossier <strong>wp_data<\/strong> doit \u00eatre <strong>\/var\/www\/html<\/strong>.   <\/li>\n\n\n\n<li><strong>Installer l&rsquo;extension Xdebug helper<\/strong> : Installez l&rsquo;extension Xdebug helper pour Google Chrome.\nUne fois install\u00e9e, cliquez sur l&rsquo;ic\u00f4ne de bug et d\u00e9finissez la cl\u00e9 IDE sur <strong>PHPSTORM<\/strong>. <\/li>\n\n\n\n<li><strong>Commencez \u00e0 \u00e9couter les connexions de d\u00e9bogage PHP<\/strong> : Dans PhpStorm, cliquez sur l&rsquo;ic\u00f4ne <strong>de bug<\/strong> dans le coin sup\u00e9rieur droit pour commencer \u00e0 \u00e9couter les connexions de d\u00e9bogage PHP.<\/li>\n\n\n\n<li><strong>Commencez le d\u00e9bogage<\/strong> : Avec les \u00e9tapes pr\u00e9c\u00e9dentes compl\u00e9t\u00e9es, vous \u00eates pr\u00eat \u00e0 commencer \u00e0 d\u00e9boguer votre application WordPress.\nIl suffit de d\u00e9finir vos points d&rsquo;arr\u00eat dans PhpStorm selon vos besoins, puis de recharger simplement votre site web.\nBon d\u00e9bogage !  <\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n<p>Alors que nous concluons ce tutoriel, j&rsquo;esp\u00e8re qu&rsquo;il deviendra une ressource pr\u00e9cieuse pour vous comme il l&rsquo;a \u00e9t\u00e9 pour moi dans mon parcours.\nLa capacit\u00e9 de personnaliser cette configuration &#8211; comme nous l&rsquo;avons fait en ajoutant le fichier <strong>phpinfo.php<\/strong> &#8211; ouvre une myriade de possibilit\u00e9s, rendant notre processus de d\u00e9veloppement plus robuste et efficace.\nTout le code est disponible dans ce <a href=\"https:\/\/github.com\/OnTheGoSystems\/wordpress-docker-devkit\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>D\u00e9p\u00f4t GitHub<\/strong><\/a>.\nN&rsquo;h\u00e9sitez pas \u00e0 le r\u00e9cup\u00e9rer, l&rsquo;essayer et sugg\u00e9rer des am\u00e9liorations !   <\/p>\n\n<p>J&rsquo;utilise personnellement un syst\u00e8me d&rsquo;exploitation Ubuntu, mais la beaut\u00e9 de cette configuration est que gr\u00e2ce \u00e0 Docker, cela n&rsquo;a pas d&rsquo;importance !\nGr\u00e2ce au fait que Docker peut fonctionner sur n&rsquo;importe quel syst\u00e8me d&rsquo;exploitation de mani\u00e8re \u00e9gale, que vous pr\u00e9f\u00e9riez macOS, Windows ou Linux, la configuration et l&rsquo;utilisation sont les m\u00eames ! <\/p>\n\n<p>Merci de m&rsquo;avoir accompagn\u00e9 dans ce tutoriel.\nJ&rsquo;esp\u00e8re avoir de vos nouvelles concernant vos exp\u00e9riences ou toute suggestion que vous pourriez avoir pour am\u00e9liorer encore cette configuration.\nRappelez-vous, la croissance prosp\u00e8re gr\u00e2ce au partage des connaissances et \u00e0 l&rsquo;esprit de collaboration.  <\/p>\n\n<p>Bon codage, et continuons \u00e0 cr\u00e9er ensemble des exp\u00e9riences WordPress incroyables !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avec Docker Compose, Xdebug et PhpStorm, vous pouvez cr\u00e9er un environnement de d\u00e9veloppement local reproductible, isol\u00e9 et facilement g\u00e9rable qui refl\u00e8te un serveur de production, am\u00e9liorant ainsi la qualit\u00e9 de vos projets WordPress. Bonjour chers d\u00e9veloppeurs et utilisateurs avanc\u00e9s de WordPress ! Aujourd&rsquo;hui, je suis ravi de partager un tutoriel complet mais simple sur la [&hellip;]<\/p>\n","protected":false},"author":681557,"featured_media":13814283,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_uag_custom_page_level_css":"","ep_exclude_from_search":false,"footnotes":""},"categories":[4409],"tags":[],"class_list":["post-16110526","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-didacticiels"],"spectra_custom_meta":{"_pingme":["1"],"_encloseme":["1"],"_subscription_coupon_product_id":["0"],"_wpv_contains_gutenberg_views":[""],"_alp_processed":["1724770556"],"_wpml_media_duplicate":["1"],"_wpml_media_featured":["1"],"toolset_post_editor_mode":["block"],"_yoast_wpseo_primary_category":["8"],"_yoast_wpseo_metadesc":["Configurez un environnement de d\u00e9veloppement local WordPress avec Docker, Xdebug et PhpStorm. Profitez d'une configuration personnalisable et facilement reproductible."],"_yoast_wpseo_opengraph-image":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-fb-1024x536.png"],"_yoast_wpseo_twitter-image":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-Twitter.png"],"_thumbnail_id":["13814283"],"_last_translation_edit_mode":["translation-editor"],"override_close_comments_for_old_posts":["0"],"cmplz_hide_cookiebanner":[""],"_uagb_previous_block_counts":["a:90:{s:21:\"uagb\/advanced-heading\";i:0;s:15:\"uagb\/blockquote\";i:0;s:12:\"uagb\/buttons\";i:0;s:18:\"uagb\/buttons-child\";i:0;s:19:\"uagb\/call-to-action\";i:0;s:15:\"uagb\/cf7-styler\";i:0;s:11:\"uagb\/column\";i:0;s:12:\"uagb\/columns\";i:0;s:14:\"uagb\/container\";i:0;s:21:\"uagb\/content-timeline\";i:0;s:27:\"uagb\/content-timeline-child\";i:0;s:14:\"uagb\/countdown\";i:0;s:12:\"uagb\/counter\";i:0;s:8:\"uagb\/faq\";i:0;s:14:\"uagb\/faq-child\";i:0;s:10:\"uagb\/forms\";i:0;s:17:\"uagb\/forms-accept\";i:0;s:19:\"uagb\/forms-checkbox\";i:0;s:15:\"uagb\/forms-date\";i:0;s:16:\"uagb\/forms-email\";i:0;s:17:\"uagb\/forms-hidden\";i:0;s:15:\"uagb\/forms-name\";i:0;s:16:\"uagb\/forms-phone\";i:0;s:16:\"uagb\/forms-radio\";i:0;s:17:\"uagb\/forms-select\";i:0;s:19:\"uagb\/forms-textarea\";i:0;s:17:\"uagb\/forms-toggle\";i:0;s:14:\"uagb\/forms-url\";i:0;s:14:\"uagb\/gf-styler\";i:0;s:15:\"uagb\/google-map\";i:0;s:11:\"uagb\/how-to\";i:0;s:16:\"uagb\/how-to-step\";i:0;s:9:\"uagb\/icon\";i:0;s:14:\"uagb\/icon-list\";i:0;s:20:\"uagb\/icon-list-child\";i:0;s:10:\"uagb\/image\";i:0;s:18:\"uagb\/image-gallery\";i:0;s:13:\"uagb\/info-box\";i:0;s:18:\"uagb\/inline-notice\";i:0;s:11:\"uagb\/lottie\";i:0;s:21:\"uagb\/marketing-button\";i:0;s:10:\"uagb\/modal\";i:0;s:18:\"uagb\/popup-builder\";i:0;s:16:\"uagb\/post-button\";i:0;s:18:\"uagb\/post-carousel\";i:0;s:17:\"uagb\/post-excerpt\";i:0;s:14:\"uagb\/post-grid\";i:0;s:15:\"uagb\/post-image\";i:0;s:17:\"uagb\/post-masonry\";i:0;s:14:\"uagb\/post-meta\";i:0;s:18:\"uagb\/post-taxonomy\";i:0;s:18:\"uagb\/post-timeline\";i:0;s:15:\"uagb\/post-title\";i:0;s:20:\"uagb\/restaurant-menu\";i:0;s:26:\"uagb\/restaurant-menu-child\";i:0;s:11:\"uagb\/review\";i:0;s:12:\"uagb\/section\";i:0;s:14:\"uagb\/separator\";i:0;s:11:\"uagb\/slider\";i:0;s:17:\"uagb\/slider-child\";i:0;s:17:\"uagb\/social-share\";i:0;s:23:\"uagb\/social-share-child\";i:0;s:16:\"uagb\/star-rating\";i:0;s:23:\"uagb\/sure-cart-checkout\";i:0;s:22:\"uagb\/sure-cart-product\";i:0;s:15:\"uagb\/sure-forms\";i:0;s:22:\"uagb\/table-of-contents\";i:0;s:9:\"uagb\/tabs\";i:0;s:15:\"uagb\/tabs-child\";i:0;s:18:\"uagb\/taxonomy-list\";i:0;s:9:\"uagb\/team\";i:0;s:16:\"uagb\/testimonial\";i:0;s:14:\"uagb\/wp-search\";i:0;s:19:\"uagb\/instagram-feed\";i:0;s:10:\"uagb\/login\";i:0;s:17:\"uagb\/loop-builder\";i:0;s:18:\"uagb\/loop-category\";i:0;s:20:\"uagb\/loop-pagination\";i:0;s:15:\"uagb\/loop-reset\";i:0;s:16:\"uagb\/loop-search\";i:0;s:14:\"uagb\/loop-sort\";i:0;s:17:\"uagb\/loop-wrapper\";i:0;s:13:\"uagb\/register\";i:0;s:19:\"uagb\/register-email\";i:0;s:24:\"uagb\/register-first-name\";i:0;s:23:\"uagb\/register-last-name\";i:0;s:22:\"uagb\/register-password\";i:0;s:30:\"uagb\/register-reenter-password\";i:0;s:19:\"uagb\/register-terms\";i:0;s:22:\"uagb\/register-username\";i:0;}"],"_uag_css_file_name":["uag-css-16110526.css"]},"uagb_featured_image_src":{"full":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",1024,800,false],"thumbnail":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-150x117.png",150,117,true],"medium":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-300x234.png",300,234,true],"medium_large":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-768x600.png",768,600,true],"large":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",1024,800,false],"1536x1536":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",1024,800,false],"2048x2048":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",1024,800,false],"gform-image-choice-sm":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",300,234,false],"gform-image-choice-md":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",400,313,false],"gform-image-choice-lg":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker.png",600,469,false],"woocommerce_thumbnail":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-150x150.png",150,150,true],"woocommerce_single":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-300x234.png",300,234,true],"woocommerce_gallery_thumbnail":["https:\/\/wpml.org\/wp-content\/uploads\/2023\/06\/debug-WordPress-sites-with-Docker-100x100.png",100,100,true]},"uagb_author_info":{"display_name":"Eran Helzer","author_link":"https:\/\/wpml.org\/fr\/author\/eran-h\/"},"uagb_comment_info":0,"uagb_excerpt":"Avec Docker Compose, Xdebug et PhpStorm, vous pouvez cr\u00e9er un environnement de d\u00e9veloppement local reproductible, isol\u00e9 et facilement g\u00e9rable qui refl\u00e8te un serveur de production, am\u00e9liorant ainsi la qualit\u00e9 de vos projets WordPress. Bonjour chers d\u00e9veloppeurs et utilisateurs avanc\u00e9s de WordPress ! Aujourd&rsquo;hui, je suis ravi de partager un tutoriel complet mais simple sur la\u2026","_links":{"self":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts\/16110526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/users\/681557"}],"replies":[{"embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/comments?post=16110526"}],"version-history":[{"count":2,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts\/16110526\/revisions"}],"predecessor-version":[{"id":16110529,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts\/16110526\/revisions\/16110529"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/media\/13814283"}],"wp:attachment":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/media?parent=16110526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/categories?post=16110526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/tags?post=16110526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}