diff --git a/Module.php b/Module.php
index a6f5d607eb114c84f0f6e428b1e40f2afc2f9737..7dd193630aa4d0a205b35ea14e34b027e30266d5 100644
--- a/Module.php
+++ b/Module.php
@@ -2,11 +2,11 @@
 
 namespace UnicaenAutoform;
 
-use Zend\Mvc\ModuleRouteListener;
-use Zend\Mvc\MvcEvent;
-use Zend\Stdlib\ArrayUtils;
-use Zend\Stdlib\Glob;
-use Zend\Config\Factory as ConfigFactory;
+use Laminas\Mvc\ModuleRouteListener;
+use Laminas\Mvc\MvcEvent;
+use Laminas\Stdlib\ArrayUtils;
+use Laminas\Stdlib\Glob;
+use Laminas\Config\Factory as ConfigFactory;
 
 class Module
 {
@@ -36,7 +36,7 @@ class Module
     public function getAutoloaderConfig()
     {
         return array(
-            'Zend\Loader\StandardAutoloader' => array(
+            'Laminas\Loader\StandardAutoloader' => array(
                 'namespaces' => array(
                     __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                 ),
diff --git a/composer.json b/composer.json
index 473a3662628e114b108d85e5fb839925917c7282..9d30901781f60be0b5cbf930dd61208ba0f71517 100644
--- a/composer.json
+++ b/composer.json
@@ -8,14 +8,11 @@
         }
     ],
     "require": {
-        "unicaen/app":                                  "^3.0",
-        "unicaen/bjy-authorize":                        "^3.0",
-        "ramsey/uuid":                                  "^3.7",
-        "unicaen/utilisateur":                          "dev-master",
-        "unicaen/privilege":                            "dev-master"
-    },
-    "require-dev": {
-        "phpunit/phpunit":                              "^5.6"
+        "unicaen/app":                                  "^4.0",
+        "unicaen/bjy-authorize":                        "^4.0",
+        "unicaen/utilisateur":                          "^4.0",
+        "unicaen/privilege":                            "^4.0",
+        "ramsey/uuid":                                  "^3.7"
     },
     "autoload": {
         "psr-0": {
diff --git a/config/merged/formulaire.config.php b/config/merged/formulaire.config.php
index 23bf904542b68c675063b66ba54f5114eac34bb9..1aeada6981d3fa99241a9c1e966dffa648983cfc 100644
--- a/config/merged/formulaire.config.php
+++ b/config/merged/formulaire.config.php
@@ -22,8 +22,8 @@ use UnicaenAutoform\Service\Formulaire\FormulaireReponseServiceFactory;
 use UnicaenAutoform\Service\Formulaire\FormulaireService;
 use UnicaenAutoform\Service\Formulaire\FormulaireServiceFactory;
 use UnicaenPrivilege\Guard\PrivilegeController;
-use Zend\Router\Http\Literal;
-use Zend\Router\Http\Segment;
+use Laminas\Router\Http\Literal;
+use Laminas\Router\Http\Segment;
 
 return [
     'bjyauthorize' => [
diff --git a/config/merged/index.config.php b/config/merged/index.config.php
index 148fc342213bb0c149f863e2b802747c38b9e91c..57598b3726e360dd2fd0c2cfe374da021d2ee883 100644
--- a/config/merged/index.config.php
+++ b/config/merged/index.config.php
@@ -6,7 +6,7 @@ use UnicaenAutoform\Controller\IndexController;
 use UnicaenAutoform\Controller\IndexControllerFactory;
 use UnicaenAutoform\Provider\Privilege\IndexPrivileges;
 use UnicaenPrivilege\Guard\PrivilegeController;
-use Zend\Router\Http\Literal;
+use Laminas\Router\Http\Literal;
 
 return [
     'bjyauthorize' => [
diff --git a/config/merged/validation.config.php b/config/merged/validation.config.php
index 24b9b5d1dd978cf1471475d0dd5605982a810840..7fd32f4bd54739447ec89481dde9adeb725803a5 100644
--- a/config/merged/validation.config.php
+++ b/config/merged/validation.config.php
@@ -10,8 +10,8 @@ use UnicaenAutoform\Service\Validation\ValidationReponseServiceFactory;
 use UnicaenAutoform\Service\Validation\ValidationService;
 use UnicaenAutoform\Service\Validation\ValidationServiceFactory;
 use UnicaenPrivilege\Guard\PrivilegeController;
-use Zend\Router\Http\Literal;
-use Zend\Router\Http\Segment;
+use Laminas\Router\Http\Literal;
+use Laminas\Router\Http\Segment;
 
 return [
     'bjyauthorize' => [
diff --git a/src/UnicaenAutoform/Controller/FormulaireController.php b/src/UnicaenAutoform/Controller/FormulaireController.php
index 66fd9c75dc620890b05b0936862f238a9252fbd8..91929ab6f3ec51eba2a59ed027a76916cbc0ad92 100644
--- a/src/UnicaenAutoform/Controller/FormulaireController.php
+++ b/src/UnicaenAutoform/Controller/FormulaireController.php
@@ -1,4 +1,4 @@
-<?php 
+<?php
 
 namespace UnicaenAutoform\Controller;
 
@@ -15,11 +15,12 @@ use UnicaenAutoform\Service\Champ\ChampServiceAwareTrait;
 use UnicaenAutoform\Service\Formulaire\FormulaireInstanceServiceAwareTrait;
 use UnicaenAutoform\Service\Formulaire\FormulaireReponseServiceAwareTrait;
 use UnicaenAutoform\Service\Formulaire\FormulaireServiceAwareTrait;
-use Zend\Http\Request;
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Http\Request;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
-class FormulaireController extends AbstractActionController {
+class FormulaireController extends AbstractActionController
+{
     use CategorieServiceAwareTrait;
     use ChampServiceAwareTrait;
     use FormulaireServiceAwareTrait;
@@ -69,7 +70,8 @@ class FormulaireController extends AbstractActionController {
         return $vm;
     }
 
-    public function modifierAction() {
+    public function modifierAction()
+    {
         /** @var Formulaire $formulaire */
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
 
@@ -78,7 +80,8 @@ class FormulaireController extends AbstractActionController {
         ]);
     }
 
-    public function modifierDescriptionAction() {
+    public function modifierDescriptionAction()
+    {
         /** @var Formulaire $formulaire */
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
 
@@ -105,33 +108,37 @@ class FormulaireController extends AbstractActionController {
         return $vm;
     }
 
-    public function historiserAction() {
+    public function historiserAction()
+    {
         /** @var Formulaire $formulaire */
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $this->getFormulaireService()->historise($formulaire);
 
-        return $this->redirect()->toRoute('autoform/formulaires', [], [] , true);
+        return $this->redirect()->toRoute('autoform/formulaires', [], [], true);
     }
 
-    public function restaurerAction() {
+    public function restaurerAction()
+    {
         /** @var Formulaire $formulaire */
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $this->getFormulaireService()->restaure($formulaire);
 
-        return $this->redirect()->toRoute('autoform/formulaires', [], [] , true);
+        return $this->redirect()->toRoute('autoform/formulaires', [], [], true);
     }
 
-    public function detruireAction() {
+    public function detruireAction()
+    {
         /** @var Formulaire $formulaire */
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $this->getFormulaireService()->delete($formulaire);
 
-        return $this->redirect()->toRoute('autoform/formulaires', [], [] , true);
+        return $this->redirect()->toRoute('autoform/formulaires', [], [], true);
     }
 
     /** GESTION DES CATEGORIES ****************************************************************************************/
 
-    public function ajouterCategorieAction() {
+    public function ajouterCategorieAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = new Categorie();
 
@@ -149,7 +156,7 @@ class FormulaireController extends AbstractActionController {
                 $this->getFormulaireService()->compacter($formulaire);
                 $categorie->setFormulaire($formulaire);
                 $categorie->setOrdre(count($formulaire->getCategories()) + 1);
-                $categorie->setCode($formulaire->getId(). "_" . uniqid());
+                $categorie->setCode($formulaire->getId() . "_" . uniqid());
                 $this->getCategorieService()->create($categorie);
             }
         }
@@ -163,7 +170,8 @@ class FormulaireController extends AbstractActionController {
         return $vm;
     }
 
-    public function modifierCategorieAction() {
+    public function modifierCategorieAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
 
@@ -190,7 +198,8 @@ class FormulaireController extends AbstractActionController {
         return $vm;
     }
 
-    public function historiserCategorieAction() {
+    public function historiserCategorieAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
         $this->getCategorieService()->historise($categorie);
@@ -198,7 +207,8 @@ class FormulaireController extends AbstractActionController {
         return $this->redirect()->toRoute('autoform/formulaire/modifier', ['formulaire' => $formulaire->getId()], [], true);
     }
 
-    public function restaurerCategorieAction() {
+    public function restaurerCategorieAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
         $this->getCategorieService()->restaure($categorie);
@@ -206,7 +216,8 @@ class FormulaireController extends AbstractActionController {
         return $this->redirect()->toRoute('autoform/formulaire/modifier', ['formulaire' => $formulaire->getId()], [], true);
     }
 
-    public function detruireCategorieAction() {
+    public function detruireCategorieAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
         $this->getCategorieService()->delete($categorie);
@@ -215,7 +226,8 @@ class FormulaireController extends AbstractActionController {
         return $this->redirect()->toRoute('autoform/formulaire/modifier', ['formulaire' => $formulaire->getId()], [], true);
     }
 
-    public function bougerCategorieAction() {
+    public function bougerCategorieAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
         $direction = $this->params()->fromRoute('direction');
@@ -230,7 +242,8 @@ class FormulaireController extends AbstractActionController {
 
     /** GESTION DES CHAMPS ********************************************************************************************/
 
-    public function ajouterChampAction() {
+    public function ajouterChampAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
         $champ = new Champ();
@@ -248,7 +261,7 @@ class FormulaireController extends AbstractActionController {
                 $this->getCategorieService()->compacter($categorie);
                 $champ->setCategorie($categorie);
                 $champ->setOrdre(count($categorie->getChamps()) + 1);
-                $champ->setCode($formulaire->getId(). "_". $categorie->getId() ."_" . uniqid());
+                $champ->setCode($formulaire->getId() . "_" . $categorie->getId() . "_" . uniqid());
                 $this->getChampService()->create($champ);
             }
         }
@@ -291,7 +304,8 @@ class FormulaireController extends AbstractActionController {
         return $vm;
     }
 
-    public function historiserChampAction() {
+    public function historiserChampAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $champ = $this->getChampService()->getRequestedChamp($this, 'champ');
         $this->getChampService()->historise($champ);
@@ -299,7 +313,8 @@ class FormulaireController extends AbstractActionController {
         return $this->redirect()->toRoute('autoform/formulaire/modifier', ['formulaire' => $formulaire->getId()], [], true);
     }
 
-    public function restaurerChampAction() {
+    public function restaurerChampAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $champ = $this->getChampService()->getRequestedChamp($this, 'champ');
         $this->getChampService()->restaure($champ);
@@ -307,7 +322,8 @@ class FormulaireController extends AbstractActionController {
         return $this->redirect()->toRoute('autoform/formulaire/modifier', ['formulaire' => $formulaire->getId()], [], true);
     }
 
-    public function detruireChampAction() {
+    public function detruireChampAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $categorie = $this->getCategorieService()->getRequestedCategorie($this, 'categorie');
         $champ = $this->getChampService()->getRequestedChamp($this, 'champ');
@@ -317,7 +333,8 @@ class FormulaireController extends AbstractActionController {
         return $this->redirect()->toRoute('autoform/formulaire/modifier', ['formulaire' => $formulaire->getId()], [], true);
     }
 
-    public function bougerChampAction() {
+    public function bougerChampAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $champ = $this->getChampService()->getRequestedChamp($this, 'champ');
         $direction = $this->params()->fromRoute('direction');
@@ -335,7 +352,8 @@ class FormulaireController extends AbstractActionController {
     /**
      * si dans les paramètres passés en query on a retour alors la redirection "finale" doit être vers cette adresse
      */
-    public function afficherFormulaireAction() {
+    public function afficherFormulaireAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $instance = $this->getFormulaireInstanceService()->getRequestedFormulaireInstance($this, 'instance');
         $retour = $this->params()->fromQuery('retour');
@@ -366,18 +384,19 @@ class FormulaireController extends AbstractActionController {
 
         $reponses = $this->getFormulaireReponseService()->getFormulaireResponsesByFormulaireInstance($instance);
         $url = $this->url()->fromRoute('autoform/formulaire/afficher-formulaire', ['formulaire' => $formulaire->getId(), 'instance' => $instance->getId()], [], true);
-        if ($retour) $url = $this->url()->fromRoute('autoform/formulaire/afficher-formulaire', ['formulaire' => $formulaire->getId(), 'instance' => $instance->getId()], ['query' => ['retour'=>$retour]], true);
+        if ($retour) $url = $this->url()->fromRoute('autoform/formulaire/afficher-formulaire', ['formulaire' => $formulaire->getId(), 'instance' => $instance->getId()], ['query' => ['retour' => $retour]], true);
 
         return new ViewModel([
-            'formulaire'    => $formulaire,
-            'instance'      => $instance,
-            'reponses'      => $reponses,
-            'url'           => $url,
-            'retour'        => $retour,
+            'formulaire' => $formulaire,
+            'instance' => $instance,
+            'reponses' => $reponses,
+            'url' => $url,
+            'retour' => $retour,
         ]);
     }
 
-    public function afficherResultatAction() {
+    public function afficherResultatAction()
+    {
         $formulaire = $this->getFormulaireService()->getRequestedFormulaire($this, 'formulaire');
         $instance = $this->getFormulaireInstanceService()->getRequestedFormulaireInstance($this, 'instance');
         $reponses = $this->getFormulaireReponseService()->getFormulaireResponsesByFormulaireInstance($instance);
diff --git a/src/UnicaenAutoform/Controller/IndexController.php b/src/UnicaenAutoform/Controller/IndexController.php
index 624cda5d60698433797cd0a3591e139839e88b7f..a5d9b3081e9a520f50b28f2bfb6c76f622c07d08 100644
--- a/src/UnicaenAutoform/Controller/IndexController.php
+++ b/src/UnicaenAutoform/Controller/IndexController.php
@@ -2,8 +2,8 @@
 
 namespace UnicaenAutoform\Controller;
 
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
 class IndexController extends AbstractActionController {
 
diff --git a/src/UnicaenAutoform/Controller/ValidationController.php b/src/UnicaenAutoform/Controller/ValidationController.php
index 720eb792ce7e671cae6b0357db949542718a6a87..380f57d390324a8f1f530139d0a2ae1deb707d53 100644
--- a/src/UnicaenAutoform/Controller/ValidationController.php
+++ b/src/UnicaenAutoform/Controller/ValidationController.php
@@ -7,9 +7,9 @@ use UnicaenAutoform\Service\Formulaire\FormulaireInstanceServiceAwareTrait;
 use UnicaenAutoform\Service\Formulaire\FormulaireReponseServiceAwareTrait;
 use UnicaenAutoform\Service\Validation\ValidationReponseServiceAwareTrait;
 use UnicaenAutoform\Service\Validation\ValidationServiceAwareTrait;
-use Zend\Http\Request;
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Http\Request;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
 class ValidationController extends AbstractActionController {
     use FormulaireInstanceServiceAwareTrait;
diff --git a/src/UnicaenAutoform/Controller/ValidationControllerFactory.php b/src/UnicaenAutoform/Controller/ValidationControllerFactory.php
index 97c2402a6917b2b3dd8625b518f33537fa8dbfc0..ab9d44efbc3c793876db6a1ee19342349e5a36b9 100644
--- a/src/UnicaenAutoform/Controller/ValidationControllerFactory.php
+++ b/src/UnicaenAutoform/Controller/ValidationControllerFactory.php
@@ -7,7 +7,7 @@ use UnicaenAutoform\Service\Formulaire\FormulaireReponseService;
 use UnicaenAutoform\Service\Validation\ValidationReponseService;
 use UnicaenAutoform\Service\Validation\ValidationService;
 use Interop\Container\ContainerInterface;
-use Zend\View\Renderer\PhpRenderer;
+use Laminas\View\Renderer\PhpRenderer;
 
 class ValidationControllerFactory {
 
diff --git a/src/UnicaenAutoform/Form/Categorie/CategorieForm.php b/src/UnicaenAutoform/Form/Categorie/CategorieForm.php
index 1678600067fe2107dfe30543d19e03b51f5382fe..ccd9ff2d5f3e6dca7005d9369c742d6cbea0253c 100644
--- a/src/UnicaenAutoform/Form/Categorie/CategorieForm.php
+++ b/src/UnicaenAutoform/Form/Categorie/CategorieForm.php
@@ -2,10 +2,10 @@
 
 namespace UnicaenAutoform\Form\Categorie;
 
-use Zend\Form\Element\Button;
-use Zend\Form\Element\Text;
-use Zend\Form\Form;
-use Zend\InputFilter\Factory;
+use Laminas\Form\Element\Button;
+use Laminas\Form\Element\Text;
+use Laminas\Form\Form;
+use Laminas\InputFilter\Factory;
 
 class CategorieForm extends Form {
 
diff --git a/src/UnicaenAutoform/Form/Categorie/CategorieHydrator.php b/src/UnicaenAutoform/Form/Categorie/CategorieHydrator.php
index e5dcf4caed0b1a4e0b7a26973722668d68b959ba..a451ae8f15bbe680902ed9da3b9fd25d94abe6e7 100644
--- a/src/UnicaenAutoform/Form/Categorie/CategorieHydrator.php
+++ b/src/UnicaenAutoform/Form/Categorie/CategorieHydrator.php
@@ -3,7 +3,7 @@
 namespace UnicaenAutoform\Form\Categorie;
 
 use UnicaenAutoform\Entity\Db\Categorie;
-use Zend\Hydrator\HydratorInterface;
+use Laminas\Hydrator\HydratorInterface;
 
 class CategorieHydrator implements HydratorInterface {
 
@@ -11,7 +11,7 @@ class CategorieHydrator implements HydratorInterface {
      * @param Categorie $object
      * @return array
      */
-    public function extract($object)
+    public function extract(object $object)
     {
         $data = [
             'libelle' => $object->getLibelle(),
@@ -24,7 +24,7 @@ class CategorieHydrator implements HydratorInterface {
      * @param Categorie $object
      * @return Categorie
      */
-    public function hydrate(array $data, $object)
+    public function hydrate(array $data, object $object)
     {
         $object->setLibelle($data['libelle']);
         return $object;
diff --git a/src/UnicaenAutoform/Form/Champ/ChampForm.php b/src/UnicaenAutoform/Form/Champ/ChampForm.php
index 55f11abf68295e9a011370c2338b6633325ac911..38d386940d66f1c531363cec964488a23fc479f7 100644
--- a/src/UnicaenAutoform/Form/Champ/ChampForm.php
+++ b/src/UnicaenAutoform/Form/Champ/ChampForm.php
@@ -3,11 +3,11 @@
 namespace UnicaenAutoform\Form\Champ;
 
 use UnicaenAutoform\Entity\Db\Champ;
-use Zend\Form\Element\Button;
-use Zend\Form\Element\Select;
-use Zend\Form\Element\Text;
-use Zend\Form\Form;
-use Zend\InputFilter\Factory;
+use Laminas\Form\Element\Button;
+use Laminas\Form\Element\Select;
+use Laminas\Form\Element\Text;
+use Laminas\Form\Form;
+use Laminas\InputFilter\Factory;
 
 class ChampForm extends Form {
 
diff --git a/src/UnicaenAutoform/Form/Champ/ChampHydrator.php b/src/UnicaenAutoform/Form/Champ/ChampHydrator.php
index 94cd33425c17122e8276dfe554213f06787be95a..059fea2927b8ae7e352965e24700a5dcb64f90d4 100644
--- a/src/UnicaenAutoform/Form/Champ/ChampHydrator.php
+++ b/src/UnicaenAutoform/Form/Champ/ChampHydrator.php
@@ -3,7 +3,7 @@
 namespace UnicaenAutoform\Form\Champ;
 
 use UnicaenAutoform\Entity\Db\Champ;
-use Zend\Hydrator\HydratorInterface;
+use Laminas\Hydrator\HydratorInterface;
 
 class ChampHydrator implements HydratorInterface {
 
@@ -11,7 +11,7 @@ class ChampHydrator implements HydratorInterface {
      * @param Champ $object
      * @return array
      */
-    public function extract($object)
+    public function extract(object $object)
     {
         $data = [
             'type'      => $object->getElement(),
@@ -27,7 +27,7 @@ class ChampHydrator implements HydratorInterface {
      * @param Champ $object
      * @return Champ
      */
-    public function hydrate(array $data, $object)
+    public function hydrate(array $data, object $object)
     {
         $object->setElement($data['type']);
         $object->setLibelle($data['libelle']);
diff --git a/src/UnicaenAutoform/Form/Formulaire/FormulaireForm.php b/src/UnicaenAutoform/Form/Formulaire/FormulaireForm.php
index f415a60128059f02503b91d6a848648cf1835f3f..cf7eebb210b18240dab66a11370092d751252d90 100644
--- a/src/UnicaenAutoform/Form/Formulaire/FormulaireForm.php
+++ b/src/UnicaenAutoform/Form/Formulaire/FormulaireForm.php
@@ -2,11 +2,11 @@
 
 namespace UnicaenAutoform\Form\Formulaire;
 
-use Zend\Form\Element\Button;
-use Zend\Form\Element\Text;
-use Zend\Form\Element\Textarea;
-use Zend\Form\Form;
-use Zend\InputFilter\Factory;
+use Laminas\Form\Element\Button;
+use Laminas\Form\Element\Text;
+use Laminas\Form\Element\Textarea;
+use Laminas\Form\Form;
+use Laminas\InputFilter\Factory;
 
 class FormulaireForm extends Form {
 
diff --git a/src/UnicaenAutoform/Form/Formulaire/FormulaireHydrator.php b/src/UnicaenAutoform/Form/Formulaire/FormulaireHydrator.php
index c4fd9754679de527ebeed009b8d2bdb2983b76e0..6d6d6847d8a547ec5ded592caed53367416a20e2 100644
--- a/src/UnicaenAutoform/Form/Formulaire/FormulaireHydrator.php
+++ b/src/UnicaenAutoform/Form/Formulaire/FormulaireHydrator.php
@@ -3,7 +3,7 @@
 namespace UnicaenAutoform\Form\Formulaire;
 
 use UnicaenAutoform\Entity\Db\Formulaire;
-use Zend\Hydrator\HydratorInterface;
+use Laminas\Hydrator\HydratorInterface;
 
 class FormulaireHydrator implements HydratorInterface {
 
@@ -11,7 +11,7 @@ class FormulaireHydrator implements HydratorInterface {
      * @param Formulaire $object
      * @return array
      */
-    public function extract($object)
+    public function extract(object $object)
     {
         $data = [
             'libelle' => $object->getLibelle(),
@@ -26,7 +26,7 @@ class FormulaireHydrator implements HydratorInterface {
      * @param Formulaire $object
      * @return Formulaire
      */
-    public function hydrate(array $data, $object)
+    public function hydrate(array $data, object $object)
     {
         $object->setLibelle($data['libelle']);
         $object->setDescription($data['description']?:null);
diff --git a/src/UnicaenAutoform/Service/Categorie/CategorieService.php b/src/UnicaenAutoform/Service/Categorie/CategorieService.php
index be4d6d50f23d10aa6535abf1121a1d1ef23e04f8..f7d7d33abbd6147cef436222698a2ba90d7118fe 100644
--- a/src/UnicaenAutoform/Service/Categorie/CategorieService.php
+++ b/src/UnicaenAutoform/Service/Categorie/CategorieService.php
@@ -9,7 +9,7 @@ use Doctrine\ORM\NonUniqueResultException;
 use Doctrine\ORM\ORMException;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class CategorieService {
     use ChampServiceAwareTrait;
diff --git a/src/UnicaenAutoform/Service/Champ/ChampService.php b/src/UnicaenAutoform/Service/Champ/ChampService.php
index 2a20112b83afeffdc481e065b4e7c3591cf38ef2..b50c5503fb5d53cad20211ee2be3a054da7ad625 100644
--- a/src/UnicaenAutoform/Service/Champ/ChampService.php
+++ b/src/UnicaenAutoform/Service/Champ/ChampService.php
@@ -8,7 +8,7 @@ use Doctrine\ORM\NonUniqueResultException;
 use Doctrine\ORM\ORMException;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class ChampService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php b/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php
index b6abe96092144b4103cbd39af9c02056cc70eeaf..3e06a4d1b8496316721fb97e4de03178a472223d 100644
--- a/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php
+++ b/src/UnicaenAutoform/Service/Formulaire/FormulaireInstanceService.php
@@ -8,7 +8,7 @@ use Doctrine\ORM\NonUniqueResultException;
 use Doctrine\ORM\ORMException;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class FormulaireInstanceService {
     use FormulaireServiceAwareTrait;
diff --git a/src/UnicaenAutoform/Service/Formulaire/FormulaireService.php b/src/UnicaenAutoform/Service/Formulaire/FormulaireService.php
index 701975485efe2c62113c7522c07dca3cef952c8a..a74e6fcc18a298d521b70dce95db9c16de5b451e 100644
--- a/src/UnicaenAutoform/Service/Formulaire/FormulaireService.php
+++ b/src/UnicaenAutoform/Service/Formulaire/FormulaireService.php
@@ -10,7 +10,7 @@ use Doctrine\ORM\ORMException;
 use Doctrine\ORM\QueryBuilder;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class FormulaireService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenAutoform/Service/Validation/ValidationReponseService.php b/src/UnicaenAutoform/Service/Validation/ValidationReponseService.php
index 2364b98bdfd4277b646d1b558ae417bf43df174a..0956d5eab093ba5304f999291db380c7e5acfe72 100644
--- a/src/UnicaenAutoform/Service/Validation/ValidationReponseService.php
+++ b/src/UnicaenAutoform/Service/Validation/ValidationReponseService.php
@@ -11,7 +11,7 @@ use Doctrine\ORM\NonUniqueResultException;
 use Doctrine\ORM\ORMException;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class ValidationReponseService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenAutoform/Service/Validation/ValidationService.php b/src/UnicaenAutoform/Service/Validation/ValidationService.php
index 7409c5cc14c156868e47c015239bd29cd185637a..064f469fbef5212db6be3afd8a5e97b36c90475c 100644
--- a/src/UnicaenAutoform/Service/Validation/ValidationService.php
+++ b/src/UnicaenAutoform/Service/Validation/ValidationService.php
@@ -10,7 +10,7 @@ use Doctrine\ORM\ORMException;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class ValidationService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenAutoform/View/Helper/ChampAsInputHelper.php b/src/UnicaenAutoform/View/Helper/ChampAsInputHelper.php
index d9f8e84bf19b9de71c37eedf854de73156a02ac3..ced814e9c08d7e6e812893babea1a30817b1dd0b 100644
--- a/src/UnicaenAutoform/View/Helper/ChampAsInputHelper.php
+++ b/src/UnicaenAutoform/View/Helper/ChampAsInputHelper.php
@@ -6,9 +6,9 @@ use UnicaenAutoform\Entity\Db\Champ;
 use UnicaenAutoform\Entity\Db\FormulaireReponse;
 use UnicaenAutoform\Service\Champ\ChampServiceAwareTrait;
 use DateTime;
-use Zend\Form\View\Helper\AbstractHelper;
-use Zend\View\Renderer\PhpRenderer;
-use Zend\View\Resolver\TemplatePathStack;
+use Laminas\Form\View\Helper\AbstractHelper;
+use Laminas\View\Renderer\PhpRenderer;
+use Laminas\View\Resolver\TemplatePathStack;
 
 class ChampAsInputHelper extends AbstractHelper
 {
diff --git a/src/UnicaenAutoform/View/Helper/ChampAsResultHelper.php b/src/UnicaenAutoform/View/Helper/ChampAsResultHelper.php
index e4ec956c2ef4b7f85fd1bdbc1d63665c2715a504..6400e6cc91c35da48e7c98c0808c94b0113659c0 100644
--- a/src/UnicaenAutoform/View/Helper/ChampAsResultHelper.php
+++ b/src/UnicaenAutoform/View/Helper/ChampAsResultHelper.php
@@ -4,9 +4,9 @@ namespace UnicaenAutoform\View\Helper;
 
 use UnicaenAutoform\Entity\Db\Champ;
 use UnicaenAutoform\Service\Champ\ChampServiceAwareTrait;
-use Zend\Form\View\Helper\AbstractHelper;
-use Zend\View\Renderer\PhpRenderer;
-use Zend\View\Resolver\TemplatePathStack;
+use Laminas\Form\View\Helper\AbstractHelper;
+use Laminas\View\Renderer\PhpRenderer;
+use Laminas\View\Resolver\TemplatePathStack;
 
 class ChampAsResultHelper extends AbstractHelper
 {
diff --git a/src/UnicaenAutoform/View/Helper/ChampAsValidationHelper.php b/src/UnicaenAutoform/View/Helper/ChampAsValidationHelper.php
index 677a08684fc3b6f0e30b0a98c013c2d367ac7e6a..3df0b8f53078d2917156d3589fb8a407550f647a 100644
--- a/src/UnicaenAutoform/View/Helper/ChampAsValidationHelper.php
+++ b/src/UnicaenAutoform/View/Helper/ChampAsValidationHelper.php
@@ -4,7 +4,7 @@ namespace UnicaenAutoform\View\Helper;
 
 use UnicaenAutoform\Entity\Db\Champ;
 use UnicaenAutoform\Service\Champ\ChampServiceAwareTrait;
-use Zend\Form\View\Helper\AbstractHelper;
+use Laminas\Form\View\Helper\AbstractHelper;
 
 class ChampAsValidationHelper extends AbstractHelper
 {
diff --git a/src/UnicaenAutoform/View/Helper/InstanceAsDivHelper.php b/src/UnicaenAutoform/View/Helper/InstanceAsDivHelper.php
index ff2c21cbef3eaa38bd1f92f7614a4d5bbe60ebbe..bb1ea4bd906aba5dbf0ae36ca2504b5749baae60 100644
--- a/src/UnicaenAutoform/View/Helper/InstanceAsDivHelper.php
+++ b/src/UnicaenAutoform/View/Helper/InstanceAsDivHelper.php
@@ -5,7 +5,7 @@ namespace UnicaenAutoform\View\Helper;
 use UnicaenAutoform\Entity\Db\Categorie;
 use UnicaenAutoform\Entity\Db\Champ;
 use UnicaenAutoform\Entity\Db\FormulaireInstance;
-use Zend\Form\View\Helper\AbstractHelper;
+use Laminas\Form\View\Helper\AbstractHelper;
 
 class InstanceAsDivHelper extends AbstractHelper
 {
diff --git a/src/UnicaenAutoform/View/Helper/InstanceAsFormulaireHelper.php b/src/UnicaenAutoform/View/Helper/InstanceAsFormulaireHelper.php
index a15116da496d4ffc8acca978cb09098f27e49a0e..26c5c0ac711feb630b1c6e633b5bc3ba2ed7d9b7 100644
--- a/src/UnicaenAutoform/View/Helper/InstanceAsFormulaireHelper.php
+++ b/src/UnicaenAutoform/View/Helper/InstanceAsFormulaireHelper.php
@@ -5,9 +5,9 @@ namespace UnicaenAutoform\View\Helper;
 use UnicaenAutoform\Entity\Db\FormulaireInstance;
 use UnicaenAutoform\Entity\Db\FormulaireReponse;
 use UnicaenAutoform\Service\Champ\ChampServiceAwareTrait;
-use Zend\Form\View\Helper\AbstractHelper;
-use Zend\View\Renderer\PhpRenderer;
-use Zend\View\Resolver\TemplatePathStack;
+use Laminas\Form\View\Helper\AbstractHelper;
+use Laminas\View\Renderer\PhpRenderer;
+use Laminas\View\Resolver\TemplatePathStack;
 
 class InstanceAsFormulaireHelper extends AbstractHelper
 {
diff --git a/src/UnicaenAutoform/View/Helper/InstanceAsTextHelper.php b/src/UnicaenAutoform/View/Helper/InstanceAsTextHelper.php
index 5d7c91e2bce294603706b379c5df2158d6326ade..c8e1be9de557028e90edaced3dff0bdbfff49f95 100644
--- a/src/UnicaenAutoform/View/Helper/InstanceAsTextHelper.php
+++ b/src/UnicaenAutoform/View/Helper/InstanceAsTextHelper.php
@@ -5,7 +5,7 @@ namespace UnicaenAutoform\View\Helper;
 use UnicaenAutoform\Entity\Db\Categorie;
 use UnicaenAutoform\Entity\Db\Champ;
 use UnicaenAutoform\Entity\Db\FormulaireInstance;
-use Zend\Form\View\Helper\AbstractHelper;
+use Laminas\Form\View\Helper\AbstractHelper;
 
 class InstanceAsTextHelper extends AbstractHelper
 {
diff --git a/src/UnicaenAutoform/View/Helper/ValidationAsTextHelper.php b/src/UnicaenAutoform/View/Helper/ValidationAsTextHelper.php
index b852bdab9ce3235f0281a91f3695187f56055bee..9cba05e5dc68cbad42e95e4dfd6fbb6367f6f4e3 100644
--- a/src/UnicaenAutoform/View/Helper/ValidationAsTextHelper.php
+++ b/src/UnicaenAutoform/View/Helper/ValidationAsTextHelper.php
@@ -6,7 +6,7 @@ use UnicaenAutoform\Entity\Db\Categorie;
 use UnicaenAutoform\Entity\Db\Champ;
 use UnicaenAutoform\Entity\Db\FormulaireInstance;
 use UnicaenAutoform\Entity\Db\FormulaireReponse;
-use UnicaenAutoform\Entity\Db\Validation;use Zend\Form\View\Helper\AbstractHelper;
+use UnicaenAutoform\Entity\Db\Validation;use Laminas\Form\View\Helper\AbstractHelper;
 
 class ValidationAsTextHelper extends AbstractHelper
 {