diff --git a/Js/fonctions.js b/Js/fonctions.js
index 6dac8429..9bbb95af 100755
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -75045,24 +75045,42 @@ function valider_tarif_lettrecle()
}
-function ajouter_une_expression_complexite_pass(idExpression, actif)
-{
- donnees = 'idExpression='+idExpression+'&actif='+actif;
-
- $.ajax({
- url: $("#racineWeb").val()+"Paramreinitmotpass/majcomplexitepassword/",
- type: 'POST',
- data: donnees,
- success: function(data) {
- $("#div_complexite_pass").html(data);
- },
- error: function(data) {
- },
- complete: function() {
- }
- });
-}
+function ajouter_une_expression_complexite_pass(idExpression, actif) {
+ const racineWeb = $("#racineWeb").val();
+ const $divCible = $("#div_complexite_pass");
+ const codeLangue = $("#codeLangue").val();
+ // 1. Préparation des données (Format Objet)
+ const donnees = {
+ idExpression: idExpression,
+ actif: actif
+ };
+
+ // 2. Feedback visuel (Opacité pendant le chargement)
+ $divCible.css('opacity', '0.6');
+
+ $.ajax({
+ url: racineWeb + "Paramreinitmotpass/majcomplexitepassword/",
+ type: 'POST',
+ data: donnees,
+ success: function(data) {
+ // Mise à jour du contenu HTML (Dual List)
+ $divCible.html(data);
+
+ // Notification Toastr discrète
+ let v_msg = (codeLangue === "en_US") ? "Security policy updated" : "Politique de sécurité mise à jour";
+ toastr.success(v_msg);
+ },
+ error: function() {
+ let v_err = (codeLangue === "en_US") ? "Update failed" : "Échec de la mise à jour";
+ toastr.error(v_err);
+ },
+ complete: function() {
+ // Rétablir l'opacité
+ $divCible.css('opacity', '1');
+ }
+ });
+}
//25-09-2023
function maj_composante_effettarif_lettrecle(idDetail, dateEffet, maxDateEffetActe, ligne){
diff --git a/Vue/Paramreinitmotpass/index.php b/Vue/Paramreinitmotpass/index.php
index e2a0681e..f0227776 100755
--- a/Vue/Paramreinitmotpass/index.php
+++ b/Vue/Paramreinitmotpass/index.php
@@ -1,3 +1,16 @@
+
+