{
    "id": 6462,
    "date": "2026-03-19T10:47:08",
    "date_gmt": "2026-03-19T09:47:08",
    "guid": {
        "rendered": "https:\/\/wpmastertoolkit.com\/?p=6462"
    },
    "modified": "2026-03-19T10:57:45",
    "modified_gmt": "2026-03-19T09:57:45",
    "slug": "wp-mastertoolkit-2-19-0-fiabilite-renforcee-sur-les-fichiers-critiques",
    "status": "publish",
    "type": "post",
    "link": "https:\/\/wpmastertoolkit.com\/fr\/wp-mastertoolkit-2-19-0-fiabilite-renforcee-sur-les-fichiers-critiques\/",
    "title": {
        "rendered": "WPMastertoolkit 2.19.0 \u2014 Fiabilit\u00e9 renforc\u00e9e sur les fichiers critiques"
    },
    "content": {
        "rendered": "<p class=\"wp-block-paragraph\">Cette version apporte des am\u00e9liorations de fond sur la fa\u00e7on dont le plugin interagit avec deux fichiers sensibles de WordPress : le&nbsp;<code>.htaccess<\/code>&nbsp;et le&nbsp;<code>wp-config.php<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9criture de fichiers : une approche plus robuste<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Modifier le&nbsp;<code>.htaccess<\/code>&nbsp;ou le&nbsp;<code>wp-config.php<\/code>&nbsp;est une op\u00e9ration d\u00e9licate. Dans des conditions normales tout se passe bien, mais dans certains environnements \u2014 serveurs partag\u00e9s sous charge, restrictions m\u00e9moire, h\u00e9bergements mutualis\u00e9s avec des configurations atypiques \u2014 une interruption au mauvais moment pouvait laisser le fichier dans un \u00e9tat incomplet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On a revu cette logique de fond en comble.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9sormais, toute modification passe par une&nbsp;<strong>\u00e9criture dans un fichier temporaire<\/strong>&nbsp;avant d&rsquo;\u00eatre appliqu\u00e9e. Le fichier d\u00e9finitif n&rsquo;est remplac\u00e9 qu&rsquo;une fois l&rsquo;\u00e9criture confirm\u00e9e comme compl\u00e8te \u2014 cette bascule est une op\u00e9ration instantan\u00e9e et indivisible c\u00f4t\u00e9 serveur. R\u00e9sultat : le fichier en production n&rsquo;est jamais dans un \u00e9tat interm\u00e9diaire, quelle que soit la situation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On a aussi ajout\u00e9 un&nbsp;<strong>syst\u00e8me de backup automatique<\/strong>&nbsp;: avant chaque modification, une copie horodat\u00e9e est conserv\u00e9e (les 5 derni\u00e8res sont gard\u00e9es). Et si malgr\u00e9 tout quelque chose ne se passe pas comme pr\u00e9vu, le plugin restaure automatiquement la version pr\u00e9c\u00e9dente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toutes ces op\u00e9rations sont maintenant\u00a0<strong>visibles dans les logs<\/strong>\u00a0WPMastertoolkit pour le diagnostic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aussi dans cette version<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le module&nbsp;<strong>Add Essentials Shortcodes<\/strong>&nbsp;(PRO) s&rsquo;enrichit d&rsquo;un param\u00e8tre&nbsp;<code>id-from-get<\/code>&nbsp;: vous pouvez r\u00e9cup\u00e9rer dynamiquement un ID depuis l&rsquo;URL (ex.&nbsp;<code>?post_id=42<\/code>) dans vos shortcodes User, Post et Term \u2014 pratique pour des pages de profil ou de fiche g\u00e9n\u00e9rique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mise \u00e0 jour disponible depuis votre tableau de bord WordPress.<\/p>",
        "protected": false
    },
    "excerpt": {
        "rendered": "<p>Cette version apporte des am\u00e9liorations de fond sur la fa\u00e7on dont le plugin interagit avec deux fichiers sensibles de WordPress : le&nbsp;.htaccess&nbsp;et le&nbsp;wp-config.php. \u00c9criture de fichiers : une approche plus robuste Modifier le&nbsp;.htaccess&nbsp;ou le&nbsp;wp-config.php&nbsp;est une op\u00e9ration d\u00e9licate. Dans des conditions normales tout se passe bien, mais dans certains environnements \u2014 serveurs partag\u00e9s sous charge, restrictions [&hellip;]<\/p>",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "comment_status": "closed",
    "ping_status": "closed",
    "sticky": false,
    "template": "",
    "format": "standard",
    "meta": {
        "_acf_changed": false,
        "_seopress_titles_title": "",
        "_seopress_titles_desc": "",
        "_seopress_robots_index": "",
        "_seopress_robots_follow": "",
        "_seopress_robots_imageindex": "",
        "_seopress_robots_snippet": "",
        "_seopress_robots_primary_cat": "",
        "_seopress_robots_breadcrumbs": "",
        "_seopress_robots_freeze_modified_date": "",
        "_seopress_robots_custom_modified_date": "",
        "_seopress_robots_canonical": "",
        "_seopress_social_fb_title": "",
        "_seopress_social_fb_desc": "",
        "_seopress_social_fb_img": "",
        "_seopress_social_fb_img_attachment_id": 0,
        "_seopress_social_fb_img_width": 0,
        "_seopress_social_fb_img_height": 0,
        "_seopress_social_twitter_title": "",
        "_seopress_social_twitter_desc": "",
        "_seopress_social_twitter_img": "",
        "_seopress_social_twitter_img_attachment_id": 0,
        "_seopress_social_twitter_img_width": 0,
        "_seopress_social_twitter_img_height": 0,
        "_seopress_redirections_value": "",
        "_seopress_redirections_enabled": "",
        "_seopress_redirections_enabled_regex": "",
        "_seopress_redirections_logged_status": "",
        "_seopress_redirections_param": "",
        "_seopress_redirections_type": 0,
        "_seopress_analysis_target_kw": "",
        "_surecart_dashboard_logo_width": "180px",
        "_surecart_dashboard_show_logo": true,
        "_surecart_dashboard_navigation_orders": true,
        "_surecart_dashboard_navigation_invoices": true,
        "_surecart_dashboard_navigation_subscriptions": true,
        "_surecart_dashboard_navigation_downloads": true,
        "_surecart_dashboard_navigation_billing": true,
        "_surecart_dashboard_navigation_account": true,
        "footnotes": ""
    },
    "categories": [
        1
    ],
    "tags": [],
    "class_list": [
        "post-6462",
        "post",
        "type-post",
        "status-publish",
        "format-standard",
        "hentry",
        "category-non-classe"
    ],
    "acf": [],
    "_links": {
        "self": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/posts\/6462",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/posts"
            }
        ],
        "about": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/types\/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/users\/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/comments?post=6462"
            }
        ],
        "version-history": [
            {
                "count": 0,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/posts\/6462\/revisions"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/media?parent=6462"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/categories?post=6462"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "https:\/\/wpmastertoolkit.com\/fr\/wp-json\/wp\/v2\/tags?post=6462"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}