diff --git a/module/Application/src/Application/Controller/IntervenantController.php b/module/Application/src/Application/Controller/IntervenantController.php
index fad0b184c1234320b22e79eb7c67db9842e87286..099ed22c0c3c1b85810936bd65c6df23fe030c64 100755
--- a/module/Application/src/Application/Controller/IntervenantController.php
+++ b/module/Application/src/Application/Controller/IntervenantController.php
@@ -189,9 +189,12 @@ class  IntervenantController extends AbstractController
         $this->getProcessusPlafond()->controle($intervenant, $typeVolumeHoraire);
 
         $campagneSaisie = $this->getServiceCampagneSaisie()->getBy($intervenant->getStatut()->getTypeIntervenant(), $typeVolumeHoraire);
+
         if (!$campagneSaisie->estOuverte()) {
+            die;
             $role = $this->getServiceContext()->getSelectedIdentityRole();
             if ($role->getIntervenant()) {
+
                 $this->flashMessenger()->addErrorMessage($campagneSaisie->getMessage($role));
             } else {
                 $this->flashMessenger()->addWarningMessage($campagneSaisie->getMessage($role));
diff --git a/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php b/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php
index ea3c8148e5a5c8a987f6029d7f84e3d10c76a29b..9ddd46b361661f74ac59505d425dbfdb5c6fd589 100755
--- a/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php
+++ b/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php
@@ -204,4 +204,5 @@ class IntervenantViewHelper extends AbstractHtmlElement
 
         return $statuts;
     }
+    
 }
\ No newline at end of file
diff --git a/module/ExportRh/config/module.config.php b/module/ExportRh/config/module.config.php
index 460ea395bae9a07354efdcc507be43bb3b405699..f7870ad78c10ddf4314bb029e2d82058f458f89e 100644
--- a/module/ExportRh/config/module.config.php
+++ b/module/ExportRh/config/module.config.php
@@ -56,6 +56,17 @@ return [
                             ],
                         ],
                     ],
+                    'sync'           => [
+                        'type'          => 'Segment',
+                        'may_terminate' => false,
+                        'options'       => [
+                            'route'    => '/:intervenant/sync',
+                            'defaults' => [
+                                'controller' => Controller\ExportRhController::class,
+                                'action'     => 'synchroniser',
+                            ],
+                        ],
+                    ],
                     'administration' => [
                         'type'          => 'Literal',
                         'may_terminate' => true,
@@ -131,7 +142,7 @@ return [
                 ],
                 [
                     'controller' => Controller\ExportRhController::class,
-                    'action'     => ['exporter', 'prise-en-charge', 'renouvellement'],
+                    'action'     => ['exporter', 'prise-en-charge', 'renouvellement', 'synchroniser'],
                     'privileges' => [Privileges::EXPORT_RH_SYNC],
                     'assertion'  => ExportRhAssertion::class,
 
diff --git a/module/ExportRh/src/Connecteur/ConnecteurRhInterface.php b/module/ExportRh/src/Connecteur/ConnecteurRhInterface.php
index bda2dddc10e9d23b2fc3549c4988a90bb128a381..3f978737acf4c7e6a9e38bfd5108845e3548851c 100644
--- a/module/ExportRh/src/Connecteur/ConnecteurRhInterface.php
+++ b/module/ExportRh/src/Connecteur/ConnecteurRhInterface.php
@@ -13,7 +13,15 @@ interface ConnecteurRhInterface
 
 
 
-    public function trouverIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?IntervenantRh;
+    public function recupererIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?IntervenantRh;
+
+
+
+    public function recupererDonneesAdministrativesIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?array;
+
+
+
+    public function recupererAffectationEnCoursIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?array;
 
 
 
@@ -21,6 +29,34 @@ interface ConnecteurRhInterface
 
 
 
+    public function renouvellerIntervenantRh(\Application\Entity\Db\Intervenant $intervenant, array $postData): ?string;
+
+
+
+    public function synchroniserDonneesPersonnelles(\Application\Entity\Db\Intervenant $intervenant, $datas): bool;
+
+
+
+    public function recupererListeUO(): ?array;
+
+
+
+    public function recupererListePositions(): ?array;
+
+
+
+    public function recupererListeEmplois(): ?array;
+
+
+
+    public function recupererListeStatuts(): ?array;
+
+
+
+    public function recupererListeModalites(): ?array;
+
+
+
     public function getConnecteurName(): string;
 
 
diff --git a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php
index ef51f20330850ab32b4a53f74dda967e25f550dc..365d7c3104b4e97a9a8b0e18f42a660013cc4c12 100644
--- a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php
+++ b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php
@@ -11,6 +11,7 @@ use ExportRh\Form\Fieldset\SihamFieldset;
 use UnicaenSiham\Exception\SihamException;
 use UnicaenSiham\Service\Siham;
 use Zend\Form\Fieldset;
+use Zend\Validator\Date;
 
 
 class SihamConnecteur implements ConnecteurRhInterface
@@ -38,8 +39,7 @@ class SihamConnecteur implements ConnecteurRhInterface
         ];
 
         $listIntervenantRh = [];
-        //$result        = $this->siham->rechercherAgent($params);
-        $result = $this->siham->recupererListeAgents($params);
+        $result            = $this->siham->recupererListeAgents($params);
 
         if (!empty($result)) {
             foreach ($result as $v) {
@@ -60,12 +60,12 @@ class SihamConnecteur implements ConnecteurRhInterface
 
 
 
-    public function trouverIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?IntervenantRh
+    public function recupererIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?IntervenantRh
     {
 
         if (!empty($intervenant->getCodeRh())) {
             $codeRh = $intervenant->getCodeRh();
-            //Si code RH ne contient pas UCN alors on le reformate
+            //Si code RH ne contient pas UCN alors on le reformate par rapport au masque matricule de SIHAM
             if (!strstr($codeRh, 'UCN')) {
                 $codeRh = $this->siham->getCodeAdministration() . str_pad($codeRh, 9, '0', STR_PAD_LEFT);
             }
@@ -81,10 +81,17 @@ class SihamConnecteur implements ConnecteurRhInterface
                 $intervenantRh = new IntervenantRH();
                 $intervenantRh->setNomUsuel($agent->getNomUsuel());
                 $intervenantRh->setPrenom($agent->getPrenom());
-                $intervenantRh->setDateNaissance(new \DateTime($agent->getDateNaissance()));
                 $intervenantRh->setTelPerso($agent->getTelephonePerso());
+                $intervenantRh->setTelPersoDateDebut($agent->getTelephonePersoDateDebut());
                 $intervenantRh->setTelPro($agent->getTelephonePro());
-                $intervenantRh->setNumeroInsee($agent->getNumeroInseeDefinitif());
+                $intervenantRh->setTelProDateDebut($agent->getTelephoneProDateDebut());
+                $intervenantRh->setEmailPro($agent->getEmailPro());
+                $intervenantRh->setEmailProDateDebut($agent->getEmailProDateDebut());
+                $intervenantRh->setEmailPerso($agent->getEmailPerso());
+                $intervenantRh->setEmailPersoDateDebut($agent->getEmailPersoDateDebut());
+                $intervenantRh->setIBAN($agent->getIban());
+                $intervenantRh->setBIC($agent->getBic());
+                $intervenantRh->setCodeRh($agent->getMatricule());
 
                 return $intervenantRh;
             }
@@ -95,7 +102,7 @@ class SihamConnecteur implements ConnecteurRhInterface
 
 
 
-    public function recupererDonneesAdministrativesIntervenantRh(\Application\Entity\Db\Intervenant $intervenant)
+    public function recupererDonneesAdministrativesIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?array
     {
         try {
             if (!empty($intervenant->getCodeRh())) {
@@ -109,14 +116,15 @@ class SihamConnecteur implements ConnecteurRhInterface
                 $dateObservation = $intervenant->getAnnee()->getDateDebut();
                 $params          =
                     [
-                        'listeMatricules' => [$codeRh],
-                        'dateObservation' => $intervenant->getAnnee()->getDateDebut()->format('Y-m-d'),
+                        'listeMatricules'    => [$codeRh],
+                        'dateObservation'    => $intervenant->getAnnee()->getDateDebut()->format('Y-m-d'),
+                        'dateFinObservation' => $intervenant->getAnnee()->getDateFin()->format('Y-m-d'),
                     ];
 
 
                 $donneesAdministratives = $this->siham->recupererDonneesAdministrativeAgent($params);
 
-                return $donneesAdministratives;
+                return (array)$donneesAdministratives;
             }
 
             return null;
@@ -127,16 +135,85 @@ class SihamConnecteur implements ConnecteurRhInterface
 
 
 
-    public function recupererAffectationEnCours($intervenant)
+    public function recupererAffectationEnCoursIntervenantRh(\Application\Entity\Db\Intervenant $intervenant): ?array
     {
-        $affectation            = [];
+        $affectations           = [];
         $donneesAdministratives = $this->recupererDonneesAdministrativesIntervenantRh($intervenant);
-
-        if (!empty($donneesAdministratives->listeAffectations)) {
-            $affectation = $donneesAdministratives->listeAffectations;
+        if (!empty($donneesAdministratives['listeAffectations']) || !empty($donneesAdministratives->listeAffectations)) {
+            $listeAffectations = (isset($donneesAdministratives['listeAffectations'])) ? $donneesAdministratives['listeAffectations'] : $donneesAdministratives->listeAffectations;
+            foreach ($listeAffectations as $affectation) {
+                //On prend uniquement les affectations fonctionnelles
+                if ($affectation->codeTypeRattachement == 'FUN') {
+                    $affectations[] = $affectation;
+                }
+            };
         }
 
-        return $affectation;
+
+        return $affectations;
+    }
+
+
+
+    public function synchroniserDonneesPersonnelles(\Application\Entity\Db\Intervenant $intervenant, $datas): bool
+    {
+        try {
+
+
+            $intervenantRh      = $this->recupererIntervenantRh($intervenant);
+            $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant);
+
+            //Synchronisation Tel pro
+            if ($datas['generiqueFieldset']['telPro']) {
+                $params = [
+                    'matricule' => $intervenantRh->getCodeRh(),
+                    'numero'    => $dossierIntervenant->getTelPro(),
+                    'dateDebut' => $intervenantRh->getTelProDateDebut(),
+                ];
+
+                $this->siham->modifierCoordonneesAgent($params, Siham::SIHAM_CODE_TYPOLOGIE_FIXE_PRO);
+            }
+
+            //Synchronisation Tel perso
+            if ($datas['generiqueFieldset']['telPerso']) {
+                $params = [
+                    'matricule' => $intervenantRh->getCodeRh(),
+                    'numero'    => $dossierIntervenant->getTelPerso(),
+                    'dateDebut' => $intervenantRh->getTelPersoDateDebut(),
+                ];
+
+                $this->siham->modifierCoordonneesAgent($params, Siham::SIHAM_CODE_TYPOLOGIE_PORTABLE_PERSO);
+            }
+
+            //Synchronisation email pro
+            if ($datas['generiqueFieldset']['emailPro']) {
+                $params = [
+                    'matricule' => $intervenantRh->getCodeRh(),
+                    'numero'    => $dossierIntervenant->getEmailPro(),
+                    'dateDebut' => $intervenantRh->getEmailProDateDebut(),
+                ];
+
+                $this->siham->modifierCoordonneesAgent($params, Siham::SIHAM_CODE_TYPOLOGIE_EMAIL_PRO);
+            }
+
+            //Synchronisation email perso
+            if ($datas['generiqueFieldset']['emailPerso']) {
+                $params = [
+                    'matricule' => $intervenantRh->getCodeRh(),
+                    'numero'    => $dossierIntervenant->getEmailPerso(),
+                    'dateDebut' => $intervenantRh->getEmailPersoDateDebut(),
+                ];
+
+                $this->siham->modifierCoordonneesAgent($params, Siham::SIHAM_CODE_TYPOLOGIE_EMAIL_PERSO);
+            }
+
+            //TODO : Synchroniser l'adresse
+
+
+            return true;
+        } catch (SihamException $e) {
+            throw new \Exception($e->getMessage());
+        }
     }
 
 
@@ -150,6 +227,7 @@ class SihamConnecteur implements ConnecteurRhInterface
             /* Récupération du dossier de l'intervenant */
             $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant);
 
+
             /*POSITION ADMINISTRATIVE*/
             $position[] =
                 ['dateEffetPosition' => $datas['connecteurForm']['anneeUniversitaire'],
@@ -182,6 +260,7 @@ class SihamConnecteur implements ConnecteurRhInterface
                 'debutAdresse'       => $datas['connecteurForm']['anneeUniversitaire'],
             ];
 
+            //TODO : travailler les coordonnées bancaires pour la prise en charge
             /*COORDONNEES BANCAIRES
             $coordonnees                   = $this->siham->formatCoordoonneesBancairesForSiham($dossierIntervenant->getIBAN(), $dossierIntervenant->getBIC());
             $coordonnees['dateDebBanque']  = $this->getRequest()->getPost('anneeUniversitaire');
@@ -274,33 +353,49 @@ class SihamConnecteur implements ConnecteurRhInterface
 
             /* Récupération du dossier de l'intervenant */
             $dossierIntervenant = $this->getServiceDossier()->getByIntervenant($intervenant);
+            $currentDate        = new \DateTime();
+            $currentMonth       = $currentDate->format('m');
+            if ($currentMonth < 9) {
+                $dateEffet = $datas['connecteurForm']['anneeUniversitaire'] + 1 . $currentDate->format('-m-d');
+            } else {
+                $dateEffet = $datas['connecteurForm']['anneeUniversitaire'] . $currentDate->format('-m-d');
+            }
+
+
+            /*Formatage du matricule*/
+            $matricule = $intervenant->getCodeRh();
+            //Si code RH ne contient pas UCN alors on le reformate
+            if (!strstr($matricule, 'UCN')) {
+                $matricule = $this->siham->getCodeAdministration() . str_pad($matricule, 9, '0', STR_PAD_LEFT);
+            }
+
 
             /*POSITION ADMINISTRATIVE*/
             $position[] =
-                ['dateEffetPosition' => $datas['connecteurForm']['anneeUniversitaire'],
+                ['dateEffetPosition' => $dateEffet,
                  'position'          => $datas['connecteurForm']['position']];
 
             /*STATUT*/
             $statut[] =
-                ['dateEffetStatut' => $datas['connecteurForm']['anneeUniversitaire'],
+                ['dateEffetStatut' => $dateEffet,
                  'statut'          => $datas['connecteurForm']['statut']];
 
             /*MODALITE SERVICE*/
             $service[] =
-                ['dateEffetModalite' => $datas['connecteurForm']['anneeUniversitaire'],
+                ['dateEffetModalite' => $dateEffet,
                  'modalite'          => $datas['connecteurForm']['modaliteService']];
 
 
             $params = [
                 'categorieEntree'        => 'ACTIVE',
-                'dateRenouvellement'     => $datas['connecteurForm']['anneeUniversitaire'],
+                'dateRenouvellement'     => $dateEffet,
                 'emploi'                 => $datas['connecteurForm']['emploi'],
                 'listeModalitesServices' => $service,
                 'listeStatuts'           => $statut,
-                
+
                 'listePositions' => $position,
                 'motifEntree'    => 'REN',
-                'matricule'      => $intervenant->getCodeRh(),
+                'matricule'      => $matricule,
                 'temoinValidite' => '1',
                 'UO'             => $datas['connecteurForm']['affectation'],
             ];
@@ -340,21 +435,21 @@ class SihamConnecteur implements ConnecteurRhInterface
 
 
 
-    public function recupererListeEmplois(): array
+    public function recupererListeEmplois(): ?array
     {
         return $this->siham->recupererListeEmplois();
     }
 
 
 
-    public function recupererListeStatuts(): array
+    public function recupererListeStatuts(): ?array
     {
         return $this->siham->recupererListeStatuts();
     }
 
 
 
-    public function recupererListeModalites(): array
+    public function recupererListeModalites(): ?array
     {
         return $this->siham->recupererListeModalites();
     }
diff --git a/module/ExportRh/src/Controller/ExportRhController.php b/module/ExportRh/src/Controller/ExportRhController.php
index 9d8c77a35ba5568a98cd49c85e1f051c2ee8bd48..36a5583026f9bc3c260fb8c9217f00435a93d507 100644
--- a/module/ExportRh/src/Controller/ExportRhController.php
+++ b/module/ExportRh/src/Controller/ExportRhController.php
@@ -101,19 +101,14 @@ class ExportRhController extends AbstractController
          */
         try {
             $intervenantRh = $this->exportRhService->getIntervenantRh($intervenant);
+            //On a trouvé un intervenant dans le SI RH
             if (!empty($intervenantRh)) {
-                //On a trouvé un intervenant dans le SI RH
-                $affectationEnCours = $this->exportRhService->getAffectationEnCours($intervenant);
                 //On regarde si il a une affectation en cours pour l'année courante si oui alors on propose uniquement une synchronisation des données personnelles
+                $affectationEnCours = current($this->exportRhService->getAffectationEnCoursIntervenantRh($intervenant));
+
                 $renouvellement = true;
                 if (!empty($affectationEnCours)) {
-                    foreach ($affectationEnCours as $affectation) //Si non on propose un renouvellement de l'intervenant SI RH
-                    {
-                        if ($affectation->codeTypeRattachement == 'FUN') {
-                            $affectationFonctionnelle = $affectation;
-                            $renouvellement           = false;
-                        }
-                    }
+                    $renouvellement = false;
                 }
             } else {
                 $priseEnCharge = true;
@@ -121,11 +116,11 @@ class ExportRhController extends AbstractController
 
 
             $nameConnecteur = $this->exportRhService->getConnecteurName();
-            $form           = $this->getExportRhForm();
-        } catch (SihamException $e) {
+            $form           = $this->getExportRhForm($intervenant);
+        } catch (\Exception $e) {
             $this->flashMessenger()->addErrorMessage($e->getMessage());
         }
-      
+
 
         return compact('typeIntervenant',
             'intervenant',
@@ -136,7 +131,7 @@ class ExportRhController extends AbstractController
             'renouvellement',
             'priseEnCharge',
             'nameConnecteur',
-            'affectationFonctionnelle');
+            'affectationEnCours');
     }
 
 
@@ -182,9 +177,9 @@ class ExportRhController extends AbstractController
                 $posts  = $this->getRequest()->getPost();
                 $result = $this->exportRhService->renouvellementIntervenantRh($intervenant, $posts);
                 if ($result !== false) {
-                    $this->flashMessenger()->addSuccessMessage('succes du renouvellement matricule : ' . $result);
+                    $this->flashMessenger()->addSuccessMessage('Le renouvellement s\'est déroulé avec succés');
                 } else {
-                    $this->flashMessenger()->addErrorMessage('Probleme de renouvellement');
+                    $this->flashMessenger()->addErrorMessage('Un problème est survenu lors de la tentative de renouvellement de l\'intervenant');
                 }
             }
         } catch (\Exception $e) {
@@ -194,4 +189,30 @@ class ExportRhController extends AbstractController
 
         return $this->redirect()->toRoute('intervenant/exporter', [], [], true);
     }
+
+
+
+    public function synchroniserAction()
+    {
+        try {
+            if ($this->getRequest()->isPost()) {
+                $intervenant = $this->getEvent()->getParam('intervenant');
+                if (!$intervenant) {
+                    throw new \LogicException('Intervenant non précisé ou inexistant');
+                }
+
+                $posts  = $this->getRequest()->getPost();
+                $result = $this->exportRhService->synchroniserDonneesPersonnelles($intervenant, $posts);
+                if ($result !== false) {
+                    $this->flashMessenger()->addSuccessMessage('Les données personnelles ont bien été synchronisé');
+                } else {
+                    $this->flashMessenger()->addErrorMessage('Un problème est survenu lors de la synchronisation des données personnelles');
+                }
+            }
+        } catch (\Exception $e) {
+            $this->flashMessenger()->addErrorMessage($e->getMessage());
+        }
+
+        return $this->redirect()->toRoute('intervenant/exporter', [], [], true);
+    }
 }
diff --git a/module/ExportRh/src/Entity/IntervenantRh.php b/module/ExportRh/src/Entity/IntervenantRh.php
index 32acea61d3dbaeb82d9f38fdfb469c0e5cc4cffb..2e7dc956ef2354c20f48d8d36c55b212df2ad9f7 100644
--- a/module/ExportRh/src/Entity/IntervenantRh.php
+++ b/module/ExportRh/src/Entity/IntervenantRh.php
@@ -49,12 +49,20 @@ class IntervenantRh
 
     public ?string             $telPro;
 
+    public ?string             $telProDateDebut;
+
     public ?string             $telPerso;
 
+    public ?string             $telPersoDateDebut;
+
     public ?string             $emailPro;
 
+    public ?string             $emailProDateDebut;
+
     public ?string             $emailPerso;
 
+    public ?string             $emailPersoDateDebut;
+
     public ?string             $adressePrecisions;
 
     public ?string             $adresseNumero;
@@ -547,6 +555,30 @@ class IntervenantRh
 
 
 
+    /**
+     * @return string|null
+     */
+    public function getTelProDateDebut(): ?string
+    {
+        return $this->telProDateDebut;
+    }
+
+
+
+    /**
+     * @param string|null $telProDateDebut
+     *
+     * @return IntervenantRH
+     */
+    public function setTelProDateDebut(?string $telProDateDebut): IntervenantRH
+    {
+        $this->telProDateDebut = $telProDateDebut;
+
+        return $this;
+    }
+
+
+
     /**
      * @return string|null
      */
@@ -571,6 +603,30 @@ class IntervenantRh
 
 
 
+    /**
+     * @return string|null
+     */
+    public function getTelPersoDateDebut(): ?string
+    {
+        return $this->telPersoDateDebut;
+    }
+
+
+
+    /**
+     * @param string|null $telPersoDateDebut
+     *
+     * @return IntervenantRH
+     */
+    public function setTelPersoDateDebut(?string $telPersoDateDebut): IntervenantRH
+    {
+        $this->telPersoDateDebut = $telPersoDateDebut;
+
+        return $this;
+    }
+
+
+
     /**
      * @return string|null
      */
@@ -595,6 +651,30 @@ class IntervenantRh
 
 
 
+    /**
+     * @return string|null
+     */
+    public function getEmailProDateDebut(): ?string
+    {
+        return $this->emailProDateDebut;
+    }
+
+
+
+    /**
+     * @param string|null $emailProDateDebut
+     *
+     * @return IntervenantRH
+     */
+    public function setEmailProDateDebut(?string $emailProDateDebut): IntervenantRH
+    {
+        $this->emailProDateDebut = $emailProDateDebut;
+
+        return $this;
+    }
+
+
+
     /**
      * @return string|null
      */
@@ -619,6 +699,30 @@ class IntervenantRh
 
 
 
+    /**
+     * @return string|null
+     */
+    public function getEmailPersoDateDebut(): ?string
+    {
+        return $this->emailPersoDateDebut;
+    }
+
+
+
+    /**
+     * @param string|null $emailPersoDateDebut
+     *
+     * @return IntervenantRH
+     */
+    public function setEmailPersoDateDebut(?string $emailPersoDateDebut): IntervenantRH
+    {
+        $this->emailPersoDateDebut = $emailPersoDateDebut;
+
+        return $this;
+    }
+
+
+
     /**
      * @return string|null
      */
diff --git a/module/ExportRh/src/Form/ExportRhForm.php b/module/ExportRh/src/Form/ExportRhForm.php
index 1bab9a666b84ecedfedd879d49c7451de62a06f2..5ef4a91ac82f129624b56d2df5af6b1c29b7664a 100644
--- a/module/ExportRh/src/Form/ExportRhForm.php
+++ b/module/ExportRh/src/Form/ExportRhForm.php
@@ -9,7 +9,7 @@ use Zend\Form\Fieldset;
 class ExportRhForm extends AbstractForm
 {
 
-    protected $fieldsetConnecteur = null;
+    protected $fieldsetConnecteur;
 
 
 
diff --git a/module/ExportRh/src/Form/Factory/ExportRhFormFactory.php b/module/ExportRh/src/Form/Factory/ExportRhFormFactory.php
index 1eb7e0666e9152d3c57355ec6535a2abb8b77829..d5369f5c010541b10be031323eb19ad2546e7f8e 100644
--- a/module/ExportRh/src/Form/Factory/ExportRhFormFactory.php
+++ b/module/ExportRh/src/Form/Factory/ExportRhFormFactory.php
@@ -17,7 +17,8 @@ class ExportRhFormFactory
 
     public function __invoke(ContainerInterface $container, $requestedName, $options = null)
     {
-        $config = $container->get('Config');
+        $config     = $container->get('Config');
+        $connecteur = '';
 
         switch ($config['export-rh']['connecteur']) {
             case 'siham':
@@ -25,8 +26,10 @@ class ExportRhFormFactory
             break;
         }
 
+
         $fieldset = $connecteur->recupererFieldsetConnecteur();
 
+
         $form = new ExportRhForm($fieldset);
 
         return $form;
diff --git a/module/ExportRh/src/Form/Fieldset/SihamFieldset.php b/module/ExportRh/src/Form/Fieldset/SihamFieldset.php
index fbfb4421fa7ecca1cd2ffdcb107174291a8181de..a82e7d4f693f46679cde63fe7c6b5c549afe32ba 100644
--- a/module/ExportRh/src/Form/Fieldset/SihamFieldset.php
+++ b/module/ExportRh/src/Form/Fieldset/SihamFieldset.php
@@ -30,8 +30,7 @@ class SihamFieldset extends AbstractFieldset
 
 
         $this->get('anneeUniversitaire')
-            ->setValueOptions([''           => '(Sélectionnez une année de prise en charge)',
-                               '2020-09-01' => '2020/2021',
+            ->setValueOptions(['2020-09-01' => '2020/2021',
                                '2021-09-01' => '2021/2022',]);
 
 
@@ -52,9 +51,17 @@ class SihamFieldset extends AbstractFieldset
             'type'       => 'Select',
         ]);
 
+        $valuesModaliteService = \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeModalites());
+
+        if (count($valuesModaliteService) == 1) {
+            $this->get('modaliteService')
+                ->setValueOptions($valuesModaliteService)
+                ->setAttribute('readonly', 'readonly');
+        } else {
+            $this->get('modaliteService')
+                ->setValueOptions(['' => '(Sélectionnez une modalité de service)'] + $valuesModaliteService);
+        }
 
-        $this->get('modaliteService')
-            ->setValueOptions(['' => '(Sélectionnez une modalité de service)'] + \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeModalites()));
 
         //Statut
         $this->add([
@@ -71,9 +78,17 @@ class SihamFieldset extends AbstractFieldset
             'type'       => 'Select',
         ]);
 
+        $valuesStatut = \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeStatuts());
+
+        if (count($valuesStatut) == 1) {
+            $this->get('statut')
+                ->setValueOptions($valuesStatut)
+                ->setAttribute('readonly', 'readonly');
+        } else {
+            $this->get('statut')
+                ->setValueOptions(['' => '(Sélectionnez un statut)'] + $valuesStatut);
+        }
 
-        $this->get('statut')
-            ->setValueOptions(['' => '(Sélectionnez un statut)'] + \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeStatuts()));
 
         //Position administrative
         $this->add([
@@ -90,9 +105,17 @@ class SihamFieldset extends AbstractFieldset
             'type'       => 'Select',
         ]);
 
+        $valuesPosition = \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListePositions());
+
+        if (count($valuesPosition) == 1) {
+            $this->get('position')
+                ->setValueOptions($valuesPosition)
+                ->setAttribute('readonly', 'readonly');
+        } else {
+            $this->get('statut')
+                ->setValueOptions(['' => '(Sélectionnez une position)'] + $valuesPosition);
+        }
 
-        $this->get('position')
-            ->setValueOptions(['' => '(Sélectionnez une position administrative)'] + \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListePositions()));
 
         //Affectation
         $this->add([
@@ -109,9 +132,17 @@ class SihamFieldset extends AbstractFieldset
             'type'       => 'Select',
         ]);
 
+        $valuesAffectation = \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeUO());
+
+        if (count($valuesAffectation) == 1) {
+            $this->get('affectation')
+                ->setValueOptions($valuesAffectation)
+                ->setAttribute('readonly', 'readonly');
+        } else {
+            $this->get('affectation')
+                ->setValueOptions(['' => '(Sélectionnez une affectation)'] + $valuesAffectation);
+        }
 
-        $this->get('affectation')
-            ->setValueOptions(['' => '(Sélectionnez une affectation)'] + \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeUO()));
 
         //Type d'emploi
         $this->add([
@@ -128,9 +159,17 @@ class SihamFieldset extends AbstractFieldset
             'type'       => 'Select',
         ]);
 
+        $valuesEmploi = \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeEmplois());
+
+        if (count($valuesEmploi) == 1) {
+            $this->get('emploi')
+                ->setValueOptions($valuesEmploi)
+                ->setAttribute('readonly', 'readonly');
+        } else {
+            $this->get('emploi')
+                ->setValueOptions(['' => '(Sélectionnez un emploi)'] + $valuesEmploi);
+        }
 
-        $this->get('emploi')
-            ->setValueOptions(['' => '(Sélectionnez un type d\'emploi)'] + \UnicaenApp\Util::collectionAsOptions($this->getSihamConnecteur()->recupererListeEmplois()));
 
         return $this;
     }
diff --git a/module/ExportRh/src/Service/ExportRhService.php b/module/ExportRh/src/Service/ExportRhService.php
index 767def32b7b9a13d0913049ad25ff71ae00475b7..9fd95f2fade8bdb6328a41513d7b0f5460fb49f2 100644
--- a/module/ExportRh/src/Service/ExportRhService.php
+++ b/module/ExportRh/src/Service/ExportRhService.php
@@ -57,7 +57,7 @@ class ExportRhService extends AbstractService
 
     public function getIntervenantRh($intervenant)
     {
-        $intervenantRh = $this->connecteur->trouverIntervenantRh($intervenant);
+        $intervenantRh = $this->connecteur->recupererIntervenantRh($intervenant);
 
         return $intervenantRh;
     }
@@ -88,9 +88,9 @@ class ExportRhService extends AbstractService
 
 
 
-    public function getAffectationEnCours($intervenant)
+    public function getAffectationEnCoursIntervenantRh($intervenant)
     {
-        $affectation = $this->connecteur->recupererAffectationEnCours($intervenant);
+        $affectation = $this->connecteur->recupererAffectationEnCoursIntervenantRh($intervenant);
 
 
         return $affectation;
@@ -147,6 +147,13 @@ class ExportRhService extends AbstractService
 
 
 
+    public function synchroniserDonneesPersonnelles(Intervenant $intervenant, $datas)
+    {
+        return $this->connecteur->synchroniserDonneesPersonnelles($intervenant, $datas);
+    }
+
+
+
     public function getIntervenantRHParamsDescription(): array
     {
         $desc = [
diff --git a/module/ExportRh/view/export-rh/export-rh/exporter.phtml b/module/ExportRh/view/export-rh/export-rh/exporter.phtml
index ea80448395e3474086d54aa570813d6695f79dde..74ef9303d713c213c3095424d2010878b676afde 100755
--- a/module/ExportRh/view/export-rh/export-rh/exporter.phtml
+++ b/module/ExportRh/view/export-rh/export-rh/exporter.phtml
@@ -10,7 +10,7 @@ if ($priseEnCharge) {
 } elseif ($renouvellement) {
     $action = 'intervenant/ren';
 } else {
-    $action = 'intervenant/ren';
+    $action = 'intervenant/sync';
 }
 
 ?>
@@ -19,172 +19,200 @@ if ($priseEnCharge) {
 <?php echo $this->messenger()->addCurrentMessagesFromFlashMessenger()->addMessagesFromFlashMessenger(); ?>
 
 
-<div class="messenger alert alert-warning">
-    <?php if ($typeIntervenant == 'P'): ?>
-        L'export des données intervenants vers le SIRH n'est disponible que pour les vacataires.
-    <?php elseif (empty($intervenantDossierValidation)): ?>
-        Vous devez d'abord valider les données personnelles de <?= $intervenant; ?> pour pouvoir les synchroniser avec le SIRH
-    <?php elseif (empty($intervenantRh)): ?>
-    <?php endif; ?>
-</div>
-<?php if (!empty($form)): ?>
-    <?php
-    $form->prepare();
-    $generiqueFieldset  = $form->get('generiqueFieldset');
-    $connecteurFieldset = $form->get('connecteurForm');
-    ?>
-
-    <form class="no-intranavigation" action="<?= $this->url($action, ['intervenant' => $intervenant->getId()]) ?>" method="post">
-        <!--Partie générique du formulaire-->
-        <div class="panel panel-default">
-            <div class="panel-heading">Récapitulatif des données personnelles</div>
-            <div class="panel-body">
-                <?php if (empty($intervenantRh)): ?>
-                    <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas été trouvé dans le SI RH. Vous pouvez si vous le souhaiter prendre en charge cette intervenant avec les données de son dossier, résumées ci-dessous :</p>
-                <?php else: ?>
-                    <?php if (!empty($affectationFonctionnelle)): ?>
-                        <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?>. Il possède déjà actuellement une affectation pour l'année universitaire en cours. Vous pouvez mettre à jour ses données personnelles si
-                            vous le souhaitez avec le bouton synchronisation ci-dessous.</p>
-                    <?php else: ?>
-                        <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?>.Il ne possède pas encore d'affectation pour l'année en cours. Vous pouvez le renouveller pour cette année à l'aide du formulaire
-                            ci-dessous.</p>
-                    <?php endif; ?>
-                <?php endif; ?>
-
-                <table class="table">
-                    <thead>
-                    <tr>
-                        <th>Champs</th>
-                        <th>Données</th>
-
-                    </tr>
-                    </thead>
-                    <tbody>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('nomUsuel')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('nomUsuel')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getNomUsuel() ?></td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('prenom')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('prenom')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getPrenom() ?></td>
-
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('dateNaissance')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('dateNaissance')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getDateNaissance()->format('d/m/Y') ?></td>
-
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('nationalite')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('nationalite')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getPaysNationalite()->getLibelle() ?></td>
-                    </tr>
-
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('adressePrincipale')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('adressePrincipale')) ?> :
-                        </td>
-                        <td>
-                            <?php
-                            $adresse = '';
-                            $adresse .= (!empty($intervenantDossier->getAdresseNumero())) ? $intervenantDossier->getAdresseNumero() . ' ' : '';
-                            $adresse .= (!empty($intervenantDossier->getAdresseNumeroCompl())) ? $intervenantDossier->getAdresseNumeroCompl() . ' ' : '';
-                            $adresse .= (!empty($intervenantDossier->getAdresseVoirie())) ? $intervenantDossier->getAdresseVoirie() . ' ' : '';
-                            $adresse .= (!empty($intervenantDossier->getAdresseVoie())) ? $intervenantDossier->getAdresseVoie() . ' ' : '';
-                            $adresse .= (!empty($intervenantDossier->getAdressePrecisions())) ? '<br/>' . $intervenantDossier->getAdressePrecisions() . ' ' : '';
-                            $adresse .= '<br/>';
-                            $adresse .= $intervenantDossier->getAdresseCodePostal() . ' ' . $intervenantDossier->getAdresseCommune();
-                            echo $adresse;
-                            ?>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('telPro')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('telPro')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getTelPro() ?></td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('telPerso')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('telPerso')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getTelPerso() ?></td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('emailPro')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('emailPro')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getEmailPro() ?></td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('emailPerso')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('emailPerso')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getEmailPerso() ?></td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('numeroInsee')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('numeroInsee')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getNumeroInsee() ?></td>
-
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('iban')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('iban')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getIBAN() ?></td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <?= $this->formCheckbox($generiqueFieldset->get('bic')); ?>
-                            <?= $this->formLabel($generiqueFieldset->get('bic')) ?> :
-                        </td>
-                        <td><?= $intervenantDossier->getBIC() ?></td>
-                    </tr>
-                    </tbody>
-                </table>
+<?php if ($typeIntervenant == 'P'): ?>
+    <div class="messenger alert alert-warning">
+        L'export des données intervenants vers <?= $nameConnecteur; ?> n'est disponible que pour les vacataires.
+    </div>
+<?php elseif (empty($intervenantDossierValidation)): ?>
+    <div class="messenger alert alert-warning">
+        Vous devez d'abord valider les données personnelles de <?= $intervenant; ?> pour pouvoir les synchroniser avec <?= $nameConnecteur; ?>
+    </div>
+<?php endif; ?>
 
+<?php if (!empty($intervenantDossierValidation)): ?>
+
+    <div class="well">
+        <?php if (empty($intervenantRh)): ?>
+            <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> n'a pas été trouvé dans <?= $nameConnecteur; ?>. Vous pouvez si vous le souhaiter prendre en charge cet intervenant avec les données de son dossier, résumées ci-dessous :</p>
+        <?php else: ?>
+            <?php if (!empty($affectationEnCours)): ?>
+                <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>). Il possède déjà actuellement une affectation pour l'année
+                    universitaire <?= $intervenant->getAnnee()->getLibelle() ?>. Vous pouvez mettre à jour ses données personnelles si vous le souhaitez avec le bouton synchronisation en bas de page.</p>
+            <?php else: ?>
+                <p>L'intervenant <?= $intervenantDossier->getPrenom() . ' ' . $intervenantDossier->getNomUsuel() ?> est bien dans le <?= $nameConnecteur ?> (<strong>numéro de matricule :</strong> <?= $intervenantRh->getCodeRh() ?>).Il ne possède pas encore d'affectation pour
+                    l'année <?= $intervenant->getAnnee()->getLibelle() ?>. Vous
+                    pouvez le
+                    renouveller pour cette année à l'aide du formulaire
+                    ci-dessous.</p>
+            <?php endif; ?>
+        <?php endif; ?>
+    </div>
+    <?php if (!empty($form)): ?>
+        <?php
+        $form->prepare();
+        $generiqueFieldset  = $form->get('generiqueFieldset');
+        $connecteurFieldset = $form->get('connecteurForm');
+
+        ?>
+        <!-- BLOC AFFECTATIOn -->
+        <?php if (!empty($affectationEnCours)): ?>
+            <div class="panel panel-default">
+                <div class="panel-heading">Affectation <?= $nameConnecteur ?> en cours</div>
+                <div class="panel-body">
+                    <table>
+                        <table class="table">
+                            <thead>
+                            <tr>
+                                <th>Champs</th>
+                                <th>Données</th>
+
+                            </tr>
+                            </thead>
+                            <tbody>
+                            <tr>
+                                <td>Affecté a</td>
+                                <td><?= $affectationEnCours->libLongStructureNiv2 ?></td>
+                            </tr>
+                            <tr>
+                                <td>Date début</td>
+                                <td><?= $affectationEnCours->dateDebutAffectation ?></td>
+                            </tr>
+                            <tr>
+                                <td>Date fin</td>
+                                <td><?= $affectationEnCours->dateFinAffectation ?></td>
+                            </tr>
+                            <tr>
+                                <td>Type de rattachement</td>
+                                <td><?= $affectationEnCours->libLongTypeRattachement ?></td>
+                            </tr>
+                            </tbody>
+                        </table>
+                    </table>
+                </div>
             </div>
-        </div>
-        <?php if ($priseEnCharge): ?>
-
-            <!-- Formulaire spécifique au connecteur-->
-            <?php
-            echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset'));
-            ?>
-
-            <p>
-                <input type="submit" value="Prendre en charge l'agent"/>
-            </p>
-        <?php elseif ($renouvellement): ?>
-            <?php
-            echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset'));
-            ?>
-
-            <p>
-                <input type="submit" value="Renouveller l'agent"/>
-            </p>
         <?php endif; ?>
-
-    </form>
+        <form class="no-intranavigation" action="<?= $this->url($action, ['intervenant' => $intervenant->getId()]) ?>" method="post">
+            <!--Partie générique du formulaire-->
+            <div class="panel panel-default">
+                <div class="panel-heading">Récapitulatif des données personnelles synchronisables</div>
+                <div class="panel-body">
+
+                    <table class="table">
+                        <thead>
+                        <tr>
+                            <th>Champs</th>
+                            <th>OSE</th>
+                            <th><?= $nameConnecteur ?></th>
+
+                        </tr>
+                        </thead>
+                        <tbody>
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('adressePrincipale')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('adressePrincipale')) ?> :
+                            </td>
+                            <td>
+                                <?php
+                                $adresse = '';
+                                $adresse .= (!empty($intervenantDossier->getAdresseNumero())) ? $intervenantDossier->getAdresseNumero() . ' ' : '';
+                                $adresse .= (!empty($intervenantDossier->getAdresseNumeroCompl())) ? $intervenantDossier->getAdresseNumeroCompl() . ' ' : '';
+                                $adresse .= (!empty($intervenantDossier->getAdresseVoirie())) ? $intervenantDossier->getAdresseVoirie() . ' ' : '';
+                                $adresse .= (!empty($intervenantDossier->getAdresseVoie())) ? $intervenantDossier->getAdresseVoie() . ' ' : '';
+                                $adresse .= (!empty($intervenantDossier->getAdressePrecisions())) ? '<br/>' . $intervenantDossier->getAdressePrecisions() . ' ' : '';
+                                $adresse .= '<br/>';
+                                $adresse .= $intervenantDossier->getAdresseCodePostal() . ' ' . $intervenantDossier->getAdresseCommune();
+                                echo $adresse;
+                                ?>
+                            </td>
+                            <td class="active"></td>
+                        </tr>
+                        <tr>
+                            <td>
+
+                            </td>
+                            <td><?= $intervenantDossier->getNomUsuel() ?></td>
+                            <td class="active"><?= $intervenantRh->getNomUsuel() ?></td>
+                        </tr>
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('telPro')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('telPro')) ?> :
+                            </td>
+                            <td><?= $intervenantDossier->getTelPro() ?></td>
+                            <td class="active"><?= $intervenantRh->getTelPro() ?></td>
+                        </tr>
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('telPerso')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('telPerso')) ?> :
+                            </td>
+                            <td><?= $intervenantDossier->getTelPerso() ?></td>
+                            <td class="active"><?= $intervenantRh->getTelPerso() ?></td>
+                        </tr>
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('emailPro')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('emailPro')) ?> :
+                            </td>
+                            <td><?= $intervenantDossier->getEmailPro() ?></td>
+                            <td class="active"><?= $intervenantRh->getEmailPro() ?></td>
+                        </tr>
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('emailPerso')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('emailPerso')) ?> :
+                            </td>
+                            <td><?= $intervenantDossier->getEmailPerso() ?></td>
+                            <td class="active"><?= $intervenantRh->getEmailPerso() ?></td>
+                        </tr>
+
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('iban')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('iban')) ?> :
+                            </td>
+                            <td><?= $intervenantDossier->getIBAN() ?></td>
+                            <td class="active"><?= $intervenantRh->getIBAN() ?></td>
+                        </tr>
+                        <tr>
+                            <td>
+                                <?= $this->formCheckbox($generiqueFieldset->get('bic')); ?>
+                                <?= $this->formLabel($generiqueFieldset->get('bic')) ?> :
+                            </td>
+                            <td><?= $intervenantDossier->getBIC() ?></td>
+                            <td class="active"><?= $intervenantRh->getBIC() ?></td>
+                        </tr>
+                        </tbody>
+                    </table>
+
+                </div>
+            </div>
+            <?php if ($priseEnCharge): ?>
+
+                <!-- Formulaire spécifique au connecteur-->
+                <?php
+                echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset', 'nameConnecteur', 'intervenant'));
+                ?>
+
+                <p>
+                    <input type="submit" value="Prendre en charge l'agent"/>
+                </p>
+            <?php elseif ($renouvellement): ?>
+                <?php
+                echo $this->partial('export-rh/export-rh/' . $nameConnecteur . '/connecteurForm', compact('connecteurFieldset', 'nameConnecteur', 'intervenant'));
+                ?>
+
+                <p>
+                    <input type="submit" value="Renouveller l'agent"/>
+                </p>
+            <?php else: ?>
+                <p>
+                    <input type="submit" value="Synchroniser données personnelles"/>
+                </p>
+            <?php endif; ?>
+
+        </form>
+    <?php endif; ?>
 <?php endif; ?>
 
diff --git a/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml b/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml
index 15aebff492e2113b099722002e49070df22f750b..2acd244520aa59f023d6d2cd8adef9ad3aecca5a 100644
--- a/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml
+++ b/module/ExportRh/view/export-rh/export-rh/siham/connecteurForm.phtml
@@ -1,7 +1,8 @@
 <div class="panel panel-default">
-    <div class="panel-heading">Configuration de la prise en charge</div>
+    <div class="panel-heading">Configuration de la prise en charge dans <?= $nameConnecteur; ?></div>
     <div class="panel-body">
-        <p>Veuillez paramétrer la prise en charge de l'agent : </p>
+        <!-- Année universitaire de prise en charge -->
+        <input type="hidden" name="connecteurForm[anneeUniversitaire]" value="<?= $intervenant->getAnnee()->getId() ?>"/>
         <table class="table">
             <thead>
             <tr>
@@ -11,10 +12,7 @@
             </tr>
             </thead>
             <tbody>
-            <tr>
-                <td><?= $this->formLabel($connecteurFieldset->get('anneeUniversitaire')) ?> :</td>
-                <td><?= $this->formSelect($connecteurFieldset->get('anneeUniversitaire')); ?></td>
-            </tr>
+
             <tr>
                 <td><?= $this->formLabel($connecteurFieldset->get('emploi')) ?> :</td>
                 <td><?= $this->formSelect($connecteurFieldset->get('emploi')); ?></td>
diff --git a/module/UnicaenSiham/src/UnicaenSiham/Service/Siham.php b/module/UnicaenSiham/src/UnicaenSiham/Service/Siham.php
index c9c77c4876cc1556eb5d7049ce4a3b7611757d5f..a269a76e8b198e5ee503b47e69f9f35b223aa20e 100644
--- a/module/UnicaenSiham/src/UnicaenSiham/Service/Siham.php
+++ b/module/UnicaenSiham/src/UnicaenSiham/Service/Siham.php
@@ -381,7 +381,7 @@ class Siham
         $dateDebut = new \DateTime();
 
         $paramsWS = ['ParamModifDP' => [
-            'codeEtablissement'   => (isset($params['codeEtablissement'])) ? strtoupper($params['codeEtablissement']) : '',
+            'codeEtablissement'   => $this->codeEtablissement,
             'codeUOAffectAdresse' => '',//Obligatoire sinon le WS plante...
             'typeAction'          => (!empty($params['dateDebut'])) ? self::SIHAM_TYPE_ACTION_MODIFICATION : self::SIHAM_TYPE_ACTION_AJOUT,//obligatoire
             'dateDebut'           => (!empty($params['dateDebut'])) ? $params['dateDebut'] : $dateDebut->format('Y-m-d'),
@@ -391,10 +391,11 @@ class Siham
             'typeNumero'          => $type,
         ]];
 
+
         try {
             $client = $this->sihamClient->getClient('DossierAgentWebService');
             $result = $client->ModifDonneesPersonnelles($paramsWS);
-
+           
             if (isset($result->return)) {
                 if ($result->return->statutMAJ == 1) {
                     return true;
@@ -490,6 +491,7 @@ class Siham
         try {
             //On récupére l'agent pour pouvoir le modifier
             $client = $this->sihamClient->getClient('DossierAgentWebService');
+            //TODO : à retester car fait planter les WS siham dans le mode mise à jour
             //$result->ModifCoordonneesBancaires($paramsWS);
         } catch (\SoapFault $e) {
             throw new SihamException($e->faultstring, 0, $e);
@@ -724,7 +726,7 @@ class Siham
             throw new SihamException($e->faultstring, 0, $e);
         }
 
-        return false;
+        return null;
     }
 
 
@@ -766,7 +768,6 @@ class Siham
                             'temoinValidite'    => '1'];
 
         //Traitement des positions
-
         $listePositions = [];
 
 
@@ -796,7 +797,7 @@ class Siham
             'listeModalitesServices' => $listeModalitesServices,
             'listeStatuts'           => $listeStatuts,
             'listePositions'         => $listePositions,
-            'motifEntree'            => (isset($params['motifEntree'])) ? strtoupper($params['motifEntree']) : self::SIHAM_MOTIF_ENTREE_DEFAULT,
+            //'motifEntree'            => (isset($params['motifEntree'])) ? strtoupper($params['motifEntree']) : self::SIHAM_MOTIF_ENTREE_DEFAULT,
             'matricule'              => (isset($params['matricule'])) ? strtoupper($params['matricule']) : '',
             'temoinValidite'         => (isset($params['temoinValidite'])) ? strtoupper($params['temoinValidite']) : '',
             'UO'                     => (isset($params['UO'])) ? strtoupper($params['UO']) : '',
@@ -835,6 +836,7 @@ class Siham
             } elseif ($result->return->statut == 'MAJ OK' && !empty($result->return->matricule)) {
                 return $result->return->matricule;
             } else {
+
                 throw new SihamException('Erreur non identifié, veuillez vous rapprocher du support informatique', 0);
             }
         } catch (\SoapFault $e) {
@@ -842,7 +844,7 @@ class Siham
             throw new SihamException($e->faultstring, 0, $e);
         }
 
-        return false;
+        return null;
     }