[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Fonctionnement des correctifs

WARNING
Nous vous recommandons vivement de tester tous les correctifs dans un environnement d’évaluation ou de développement avant leur déploiement en production. Nous vous recommandons vivement de sauvegarder vos données avant d'appliquer un correctif. Voir Sauvegarder et restaurer le système de fichiers.

Les fichiers Patch (ou diff) sont des fichiers texte qui notent :

  • Le ou les fichiers à modifier.
  • Le numéro de ligne à modifier et le nombre de lignes à modifier.
  • Le nouveau code à permuter.

Lorsque le programme de correctifs est exécuté, ce fichier est lu dans et les modifications spécifiées sont apportées aux fichiers.

Il existe trois types de correctifs :

  • Correctifs : correctifs qu’Adobe publie sur le Centre de sécurité.
  • Correctifs individuels : les correctifs créés et distribués par la prise en charge d’Adobe Commerce au cas par cas.
  • Correctifs personnalisés : correctifs non officiels que vous pouvez créer à partir d’une validation Git.

Correctifs

Les correctifs sont des correctifs de sécurité ou de qualité qui affectent de nombreux commerçants. Ces correctifs sont appliqués à la prochaine version de correctif pour la version mineure applicable. Adobe publie des correctifs si nécessaire.

Vous trouverez les correctifs dans le Centre de sécurité. Suivez les instructions de la page pour télécharger le fichier de correctif, en fonction de votre version et de votre type d’installation. Utilisez la ligne de commande ou le compositeur pour appliquer des correctifs de correctifs logiciels.

NOTE
Les correctifs peuvent contenir des modifications rétrocompatibles.

Correctifs individuels

Les correctifs individuels contiennent des correctifs de qualité à faible impact pour un problème spécifique. Ces correctifs sont appliqués à la version mineure la plus récemment prise en charge (par exemple, 2.4.x), mais peuvent être absents de la version mineure précédente prise en charge (par exemple, 2.3.x). Adobe publie des correctifs individuels selon les besoins.

Utilisez l’Quality Patches Tool pour appliquer des correctifs individuels.

NOTE
Les correctifs individuels ne contiennent pas de modifications rétrocompatibles.

Correctifs personnalisés

Parfois, il faut un certain temps à l’équipe d’ingénierie Adobe pour inclure un correctif de bug réalisé sur GitHub dans une version du compositeur Adobe Commerce. En attendant, vous pouvez créer un correctif à partir de GitHub et utiliser le plug-in cweagans/composer-patches pour l’appliquer à votre installation basée sur le compositeur.

Utilisez la ligne de commande ou le compositeur pour appliquer des correctifs personnalisés.

Il existe de nombreuses façons de créer des fichiers de correctifs personnalisés. L’exemple suivant porte sur la création d’un correctif à partir d’une validation Git connue.

Pour créer un correctif personnalisé :

  1. Créez un répertoire patches/composer dans votre projet local.

  2. Identifiez la requête de validation ou d’extraction GitHub à utiliser pour le correctif. Cet exemple utilise la validation 2d31571, liée au problème GitHub #6474.

  3. Ajoutez les extensions .patch ou .diff à l’URL de validation. Utilisez .diff pour une taille de fichier plus petite. Par exemple : https://github.com/magento/magento2/commit/2d31571f1bacd11aa2ec795180abf682e0e9aede.diff

  4. Enregistrez la page en tant que fichier dans le répertoire patches/composer. Par exemple, github-issue-6474.diff.

  5. Modifiez le fichier et supprimez les app/code/<VENDOR>/<PACKAGE> de tous les chemins d’accès afin qu’ils soient relatifs au répertoire vendor/<VENDOR>/<PACKAGE>.

    note note
    NOTE
    Les éditeurs de texte qui suppriment automatiquement les espaces de fin ou ajoutent de nouvelles lignes peuvent rompre le patch. Utilisez un simple éditeur de texte pour effectuer ces modifications.

L’exemple suivant illustre le fichier DIFF mentionné précédemment après la suppression de toutes les instances de app/code/Magento/Payment :

diff --git a/view/frontend/web/js/view/payment/iframe.js b/view/frontend/web/js/view/payment/iframe.js
index c8a6fef58d31..7d01c195791e 100644
--- a/view/frontend/web/js/view/payment/iframe.js
+++ b/view/frontend/web/js/view/payment/iframe.js
@@ -154,6 +154,7 @@ define(
              */
             clearTimeout: function () {
                 clearTimeout(this.timeoutId);
+                this.fail();

                 return this;
             },

Application de correctifs

Vous pouvez appliquer des correctifs à l’aide de l’une des méthodes suivantes :

NOTE
Pour appliquer un correctif à un projet d’infrastructure cloud d’Adobe Commerce, voir Application de correctifs dans le guide Commerce sur le cloud.
recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea