diff --git a/data/ddl/package/FORMULE_POITIERS/body.sql b/data/ddl/package/FORMULE_POITIERS/body.sql
index 77ee99182d8ac462b11a4e310c5a68fc35cc50d5..2dd96b8da292befd7bc34f8396c3e06110cde614 100644
--- a/data/ddl/package/FORMULE_POITIERS/body.sql
+++ b/data/ddl/package/FORMULE_POITIERS/body.sql
@@ -157,7 +157,7 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
       IF vh.volume_horaire_ref_id IS NOT NULL THEN
         RETURN 0;
       ELSE
-        RETURN cell('AW',l) + cell('AY',l);
+        RETURN (cell('AW',l) + cell('AY',l)) * vh.TAUX_FI;
       END IF;
 
 
@@ -192,32 +192,32 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
-    -- X=SI($H20="Référentiel";0;$BB20*E20)
+    -- X=SI($H20="Référentiel";0;$BC20*E20)
     WHEN c = 'X' AND v >= 1 THEN
       IF vh.volume_horaire_ref_id IS NOT NULL THEN
         RETURN 0;
       ELSE
-        RETURN cell('BB',l) * vh.taux_fi;
+        RETURN cell('BC',l) * vh.taux_fi;
       END IF;
 
 
 
-    -- Y=SI($H20="Référentiel";0;$BB20*F20)
+    -- Y=SI($H20="Référentiel";0;$BC20*F20)
     WHEN c = 'Y' AND v >= 1 THEN
       IF vh.volume_horaire_ref_id IS NOT NULL THEN
         RETURN 0;
       ELSE
-        RETURN cell('BB',l) * vh.taux_fa;
+        RETURN cell('BC',l) * vh.taux_fa;
       END IF;
 
 
 
-    -- Z=SI($H20="Référentiel";0;$BB20*G20)
+    -- Z=SI($H20="Référentiel";0;$BC20*G20)
     WHEN c = 'Z' AND v >= 1 THEN
       IF vh.volume_horaire_ref_id IS NOT NULL THEN
         RETURN 0;
       ELSE
-        RETURN cell('BB',l) * vh.taux_fc;
+        RETURN cell('BC',l) * vh.taux_fc;
       END IF;
 
 
@@ -228,10 +228,10 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
-    -- AB=SI($H20="Référentiel";$BC20;0)
+    -- AB=SI($H20="Référentiel";$BE20;0)
     WHEN c = 'AB' AND v >= 1 THEN
       IF vh.volume_horaire_ref_id IS NOT NULL THEN
-        RETURN cell('BC',l);
+        RETURN cell('BE',l);
       ELSE
         RETURN 0;
       END IF;
@@ -305,16 +305,15 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
-    -- AJ=SI(AI$35<i_param_1;AI20;AI20/AI$35*i_param_1)
-    -- Modifié!!!
+    -- AJ=SI(AI$35<$AJ$9;AI20;SI(AI$35=0;0;AI20/AI$35*$AJ$9))
     WHEN c = 'AJ' AND v >= 1 THEN
-      IF cell('AI35') < i.param_1 THEN
+      IF cell('AI35') < CELL('AJ9') THEN
         RETURN cell('AI',l);
       ELSE
         IF cell('AI35') = 0 THEN
           RETURN 0;
         ELSE
-          RETURN cell('AI',l) / cell('AI35') * i.param_1;
+          RETURN cell('AI',l) / cell('AI35') * CELL('AJ9');
         END IF;
       END IF;
 
@@ -477,8 +476,18 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
-    -- BC=SI(i_depassement_service_du_sans_hc="Non";SI($AD20<>2;0;$M20*$AF20*$BA20);0)
+    -- BC=SI(BB$35>0;BB20/BB$35*MIN(BB$35;$AJ$11);0)
     WHEN c = 'BC' AND v >= 1 THEN
+      IF CELL('BB35') > 0 THEN
+        RETURN CELL('BB',l) / CELL('BB35') * LEAST( CELL('BB35'), CELL('AJ11') );
+      ELSE
+        RETURN 0;
+      END IF;
+
+
+
+    -- BD=SI(i_depassement_service_du_sans_hc="Non";SI($AD20<>2;0;$M20*$AF20*$BA20);0)
+    WHEN c = 'BD' AND v >= 1 THEN
       IF NOT i.DEPASSEMENT_SERVICE_DU_SANS_HC THEN
         --SI($AD20<>2;0;$M20*$AF20*$BA20)
         IF cell('AD',l) <> 2 THEN
@@ -492,6 +501,17 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
+    -- BE=SI(BD$35>0;BD20/BD$35*MIN(BD$35;$AJ$10;$AJ$11-$BC$35);0)
+    WHEN c = 'BE' AND v >= 1 THEN
+      IF CELL('BD35') > 0 THEN
+        --BD20/BD$35*MIN(BD$35;$AJ$10;$AJ$11-$BC$35)
+        RETURN CELL('BD',l) / CELL('BD35') * LEAST( CELL('BD35'), CELL('AJ10'), CELL('AJ11')-CELL('BC35') );
+      ELSE
+        RETURN 0;
+      END IF;
+
+
+
     -- AG35=SOMME(AG20:AG34)
     WHEN c = 'AG35' AND v >= 1 THEN
       RETURN calcFnc('total', 'AG');
@@ -588,6 +608,18 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
+    -- BD35=SOMME(BD20:BD34)
+    WHEN c = 'BD35' AND v >= 1 THEN
+      RETURN calcFnc('total', 'BD');
+
+
+
+    -- BE35=SOMME(BE20:BE34)
+    WHEN c = 'BE35' AND v >= 1 THEN
+      RETURN calcFnc('total', 'BE');
+
+
+
     -- AW37=AW35
     WHEN c = 'AW37' AND v >= 1 THEN
       RETURN cell('AW35');
@@ -612,6 +644,33 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
 
 
 
+    -- AJ9=SI(i_heures_decharge=0;0;i_param_1*i_service_du/i_heures_decharge)
+    WHEN c = 'AJ9' AND v >= 1 THEN
+      IF i.heures_service_statutaire = 0 THEN
+        RETURN 0;
+      ELSE
+        RETURN i.param_1 * i.service_du / i.heures_service_statutaire;
+      END IF;
+
+
+    -- AJ10=SI(i_heures_decharge=0;0;i_param_2*i_service_du/i_heures_decharge)
+    WHEN c = 'AJ10' AND v >= 1 THEN
+      IF i.heures_service_statutaire = 0 THEN
+        RETURN 0;
+      ELSE
+        RETURN i.param_2 * i.service_du / i.heures_service_statutaire;
+      END IF;
+
+
+    -- AJ11=SI(i_heures_decharge=0;0;i_param_3*i_service_du/i_heures_decharge)
+    WHEN c = 'AJ11' AND v >= 1 THEN
+      IF i.heures_service_statutaire = 0 THEN
+        RETURN 0;
+      ELSE
+        RETURN i.param_3 * i.service_du / i.heures_service_statutaire;
+      END IF;
+
+
     ELSE
       OSE_TEST.echo(c);
       raise_application_error( -20001, 'La colonne c=' || c || ', l=' || l || ' n''existe pas!');
@@ -646,7 +705,7 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_POITIERS AS
       fi.*,
       si.plafond_referentiel_service param_1,
       si.plafond_referentiel_hc      param_2,
-      NULL param_3,
+      si.plafond_hc_hors_remu_fc     param_3,
       NULL param_4,
       NULL param_5
     FROM
diff --git a/data/nomenclatures.php b/data/nomenclatures.php
index 09b486374d59836f7cd95246d54a85c717970d6f..e07a26af585828808cd83ca4a1563cd65385b2b0 100644
--- a/data/nomenclatures.php
+++ b/data/nomenclatures.php
@@ -186,6 +186,7 @@ return [
             'PACKAGE_NAME'      => 'FORMULE_POITIERS',
             'I_PARAM_1_LIBELLE' => 'Heures max. référentiel en service',
             'I_PARAM_2_LIBELLE' => 'Heures max. référentiel en HC',
+            'I_PARAM_3_LIBELLE' => 'Heures max. enseignement en HC',
         ],
     ],
 
diff --git a/module/Application/src/Application/Form/Intervenant/EditionForm.php b/module/Application/src/Application/Form/Intervenant/EditionForm.php
index 947fe8d0939ee5ed225a2288cd0e5dcf26602457..04dd7640dca05a211ff7eba9b69e37c735ed12d4 100755
--- a/module/Application/src/Application/Form/Intervenant/EditionForm.php
+++ b/module/Application/src/Application/Form/Intervenant/EditionForm.php
@@ -218,19 +218,25 @@ class EditionForm extends AbstractForm
         $this->add($utilisateur);
 
         $this->add([
-            'name'    => 'login',
-            'type'    => 'Text',
-            'options' => [
+            'name'       => 'login',
+            'type'       => 'Text',
+            'attributes' => [
+                'autocomplete' => 'false',
+            ],
+            'options'    => [
                 'label' => 'Login',
             ],
 
         ]);
 
         $this->add([
-            'name'    => 'password',
-            'type'    => 'Password',
-            'options' => [
-                'label' => 'Mot de passe',
+            'name'       => 'password',
+            'type'       => 'Password',
+            'attributes' => [
+                'autocomplete' => 'false',
+            ],
+            'options'    => [
+                'label' => 'Mot de passe (6 caractères min.)',
             ],
 
         ]);
@@ -411,6 +417,17 @@ class EditionForm extends AbstractForm
                     }
                 }
             }
+            if (!$object->getId()) {
+                $syncElements = ['syncStatut', 'syncStructure', 'source', 'sourceCode'];
+                foreach ($syncElements as $elementName) {
+                    $element = $this->get($elementName);
+
+                    /** @var Element $element */
+                    $element->setAttribute('readonly', true);
+                    $element->setAttribute('disabled', true);
+                    $element->setAttribute('title', 'Paramètres de synchronisation inutiles dans le cas de la création d\'une nouvelle fiche');
+                }
+            }
         }
     }