diff --git a/CHANGELOG.md b/CHANGELOG.md
index a64af76b4f4f85bc8a04ef8b0a14908f9c96422a..96821a6c47e9fc0d64bb2168483c2cfb22d932ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,11 +3,35 @@
 Toutes les modifications apportées au projet seront documentées dans ce fichier.
 Le format est basé sur le modèle [Keep a Changelog](http://keepachangelog.com/) et adhère aux principes du [Semantic Versioning](http://semver.org/).
 
+[2.1.2] - 23-11-2021
+=====
+
+### Ajouts
+
+### Evolutions
+
+### Corrections
+- [#629](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/629)
+  Faute d'orthographe dans l'ongle AIPD.
+
+- [#628](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/628)
+  Gestion des modèles de formulaire.
+
+- [#627](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/627)
+  Gestion des droits sur l'action d'activation ou désactivation d'un formulaire.
+
+- [#626](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/626)
+  Suppression de l'unicité des noms des fichiers pour les modèles en base de données.
+
+- [#625](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/625)
+  De l'utilisation des filtres dans les formulaires 
+
+
 [2.1.1] - 09-11-2021
 =====
 
 ### Ajouts
--[#623](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/623)
+- [#623](https://gitlab.libriciel.fr/libriciel/pole-citoyens/web-DPO/web-DPO/-/issues/623)
   Création d'un référentiel avec fichier annexe.
   Mise à disposition du référentiel existante.
   Modification d'un référentiel.
diff --git a/README.md b/README.md
index eaacf005ef3f057c4f0ec5896c973227ce78535a..d8a6cb2b5dd502c979a2195721f31f9439811021 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# Application web-DPO v2.1.1
+# Application web-DPO v2.1.2
 [![Minimum PHP Version](https://img.shields.io/badge/php-7.4-8892BF.svg)](https://php.net/)
 [![License](https://img.shields.io/badge/licence-AGPL%20v3-blue.svg)](http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html)
 [![Requires](https://img.shields.io/badge/requires-CakePHP%202.10-navy.svg)](http://book.cakephp.org/3.0/fr/index.html)
 
 ## Présentation
-Vous êtes en présence des sources de l'application **web-DPO** version 2.1.1
+Vous êtes en présence des sources de l'application **web-DPO** version 2.1.2
 
 Avant toute nouvelle installation, veuillez faire une sauvegarde de la base de données ainsi que la version actuelle des
 sources.
diff --git a/VERSION.txt b/VERSION.txt
index 3e3c2f1e5edb083aab93646ac7b076daa38516dd..eca07e4c1a8cbc603e5d5c2885dc0f0f9b1eef8d 100755
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1 +1 @@
-2.1.1
+2.1.2
diff --git a/app/Config/Schema/CreationBase/patchs/2.0.1_to_2.1.0.sql b/app/Config/Schema/CreationBase/patchs/2.0.1_to_2.1.0.sql
index 8e1532a786ce0b03151f45706171c200aec500a0..5bf49af30d74e26d788f88a85d8c63d7de5f5f62 100644
--- a/app/Config/Schema/CreationBase/patchs/2.0.1_to_2.1.0.sql
+++ b/app/Config/Schema/CreationBase/patchs/2.0.1_to_2.1.0.sql
@@ -41,7 +41,7 @@ CREATE UNIQUE INDEX formulaires_modeles_organisations_formulaire_id_modele_id_or
 CREATE UNIQUE INDEX formulaires_modeles_organisations_formulaire_id_organisation_id_idx ON formulaires_modeles_organisations (formulaire_id, organisation_id);
 
 ALTER TABLE modeles RENAME COLUMN formulaires_id TO formulaire_id ;
-CREATE UNIQUE INDEX modeles_name_modele_idx ON modeles (name_modele);
+--CREATE UNIQUE INDEX modeles_name_modele_idx ON modeles (name_modele);
 CREATE UNIQUE INDEX modeles_fichier_idx ON modeles (fichier);
 CREATE UNIQUE INDEX modeles_name_modele_fichier_idx ON modeles (name_modele, fichier);
 
@@ -64,7 +64,7 @@ organisation_id
 
 ALTER TABLE modele_extrait_registres DROP COLUMN organisations_id ;
 CREATE UNIQUE INDEX modele_extrait_registres_name_modele_fichier_idx ON modele_extrait_registres (name_modele, fichier);
-CREATE UNIQUE INDEX modele_extrait_registres_name_modele_idx ON modele_extrait_registres (name_modele);
+--  CREATE UNIQUE INDEX modele_extrait_registres_name_modele_idx ON modele_extrait_registres (name_modele);
 CREATE UNIQUE INDEX modele_extrait_registres_fichier_idx ON modele_extrait_registres (fichier);
 
 ALTER TABLE organisations ALTER COLUMN usemodelepresentation SET DEFAULT TRUE;
diff --git a/app/Controller/FormulairesController.php b/app/Controller/FormulairesController.php
index 4ef80cd3eb713dcdff13571f25c90e2f995558c8..073624be848fcd4d3fd87ab9d0397a537ec92036 100644
--- a/app/Controller/FormulairesController.php
+++ b/app/Controller/FormulairesController.php
@@ -62,9 +62,47 @@ class FormulairesController extends AppController
     {
         $this->set('title', __d('formulaire', 'formulaire.titreListeFormulaire'));
 
-        if ($this->request->is('post')) {
+        $conditions = [
+            'Formulaire.archive' => 'false'
+        ];
+
+        $named = Hash::expand((array)Hash::get($this->request->params, 'named'));
+        if (false === empty($named)) {
+            $this->request->data = $named;
+        }
+
+        if ($this->request->is('post') || false === empty($named)) {
             $data = $this->request->data;
 
+            // Applications des filtres
+            // Filtrer par entité associée
+            if (!empty($data['Filtre']['organisation'])) {
+                $conditions[] = $this->Formulaire->getFormulaireConditionOrganisation(
+                    $data['Filtre']['organisation']
+                );
+            }
+
+            // Filtrer par entité créatrice
+            $createdbyorganisation = (string)Hash::get($data, 'Filtre.createdbyorganisation');
+            if ($createdbyorganisation !== '') {
+                $conditions['Formulaire.createdbyorganisation'] = $createdbyorganisation;
+            }
+
+            // Filtrer par formulaire actif
+            if (!empty($data['Filtre']['actif'])) {
+                $conditions['Formulaire.active'] = $data['Filtre']['actif'];
+            }
+
+            // Filtrer par formulaire RT externe
+            if (!empty($data['Filtre']['rt_externe'])) {
+                $conditions['Formulaire.rt_externe'] = $data['Filtre']['rt_externe'];
+            }
+
+            // Filtrer par formulaire archive
+            if (!empty($data['Filtre']['archive'])) {
+                $conditions['Formulaire.archive'] = $data['Filtre']['archive'];
+            }
+
             if (isset($data['FormulaireOrganisation']) &&
                 empty($data['FormulaireOrganisation']['organisation_id']) === false &&
                 empty($data['FormulaireOrganisation']['formulaire_id']) === false
@@ -129,31 +167,34 @@ class FormulairesController extends AppController
 
                     if ($success == true) {
                         $this->Formulaire->FormulaireOrganisation->commit();
-                        $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireAffecterEnregistrer'), 'flashsuccess');
+                        $this->Session->setFlash(
+                            __d('formulaire', 'formulaire.flashsuccessFormulaireAffecterEnregistrer'),
+                            'flashsuccess'
+                        );
                     } else {
                         $this->Formulaire->FormulaireOrganisation->rollback();
-                        $this->Session->setFlash(__d('formulaire', 'formulaire.flasherrorErreurEnregistrementFormulaireAffecter'), 'flasherror');
+                        $this->Session->setFlash(
+                            __d('formulaire', 'formulaire.flasherrorErreurEnregistrementFormulaireAffecter'),
+                            'flasherror'
+                        );
                     }
                 }
             }
 
             unset($this->request->data['FormulaireOrganisation']);
+        }
 
-            if (empty($this->request->data)) {
-                $this->request->data = ['Filtre' => ['archive' => 'false']];
-            }
-        } else {
-            $this->request->data = ['Filtre' => ['archive' => 'false'] ];
+        if (empty($this->request->data['Filtre']['archive'])) {
+            $this->request->data['Filtre']['archive'] = 'false';
         }
 
         $this->set([
             'mesOrganisations' => $this->WebcilUsers->mesOrganisations('list'),
-//            'options' => $this->_optionsFiltre(),
-            'formulaires' => $this->_getSearchResults(),
+            'formulaires' => $this->_getSearchResults($conditions),
         ]);
     }
 
-    public function _getSearchResults()
+    public function _getSearchResults($conditions)
     {
         $paginate = [
             'contain' => [
@@ -165,7 +206,7 @@ class FormulairesController extends AppController
                     ]
                 ],
             ],
-            'conditions' => [],
+            'conditions' => $conditions,
             'fields' => [
                 'Formulaire.id',
                 'Formulaire.libelle',
@@ -180,37 +221,6 @@ class FormulairesController extends AppController
             ]
         ];
 
-        // Applications des filtres
-        if (($this->request->is('post') && $this->request->params['action'] === 'index')
-            || empty($this->request->data) === false
-        ) {
-            // Filtrer par entité associée
-            if (!empty($this->request->data['Filtre']['organisation'])) {
-                $paginate['conditions'][] = $this->Formulaire->getFormulaireConditionOrganisation($this->request->data['Filtre']['organisation']);
-            }
-
-            // Filtrer par entité créatrice
-            $createdbyorganisation = (string)Hash::get($this->request->data, 'Filtre.createdbyorganisation');
-            if ($createdbyorganisation !== '') {
-                $paginate['conditions'][] = ['Formulaire.createdbyorganisation' => $createdbyorganisation];
-            }
-
-            // Filtrer par formulaire actif
-            if (!empty($this->request->data['Filtre']['actif'])) {
-                $paginate['conditions'][] = ['Formulaire.active' => $this->request->data['Filtre']['actif']];
-            }
-
-            // Filtrer par formulaire RT externe
-            if (!empty($this->request->data['Filtre']['rt_externe'])) {
-                $paginate['conditions'][] = ['Formulaire.rt_externe' => $this->request->data['Filtre']['rt_externe']];
-            }
-
-            // Filtrer par formulaire archive
-            if (!empty($this->request->data['Filtre']['archive'])) {
-                $paginate['conditions'][] = ['Formulaire.archive' => $this->request->data['Filtre']['archive']];
-            }
-        }
-
         // Ajout de conditions suivant l'utilisateur connecté et l'action
         if ($this->request->params['action'] === 'index') {
             array_push($paginate['fields'],
@@ -239,8 +249,12 @@ class FormulairesController extends AppController
     {
         $this->set('title', __d('formulaire', 'formulaire.titreMesFormulairesOrganisation'));
 
+        $conditions[] = $this->Formulaire->getFormulaireConditionOrganisation(
+            $this->Session->read('Organisation.id')
+        );
+
         $this->set([
-            'formulaires' => $this->_getSearchResults(),
+            'formulaires' => $this->_getSearchResults($conditions),
         ]);
     }
 
@@ -275,10 +289,16 @@ class FormulairesController extends AppController
 
         if ($success == true) {
             $this->Formulaire->commit();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireDupliquer'), 'flashsuccess');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flashsuccessFormulaireDupliquer'),
+                'flashsuccess'
+            );
         } else {
             $this->Formulaire->rollback();
-            $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+            $this->Session->setFlash(
+                __d('default', 'default.flasherrorEnregistrementErreur'),
+                'flasherror'
+            );
         }
 
         $this->redirect($this->Referers->get());
@@ -309,10 +329,16 @@ class FormulairesController extends AppController
 
         if ($success == true) {
             $this->Formulaire->commit();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireDupliquerOtherOrganisation'), 'flashsuccess');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flashsuccessFormulaireDupliquerOtherOrganisation'),
+                'flashsuccess'
+            );
         } else {
             $this->Formulaire->rollback();
-            $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+            $this->Session->setFlash(
+                __d('default', 'default.flasherrorEnregistrementErreur'),
+                'flasherror'
+            );
         }
 
         $this->redirect($this->Referers->get());
@@ -333,7 +359,6 @@ class FormulairesController extends AppController
         $success = true;
 
         $id = $data['Formulaire']['id'];
-//        $this->Droits->assertRecordAuthorized('Formulaire', $id);
 
         $formulaireToDuplicate = $this->Formulaire->find('first', [
             'conditions' => [
@@ -463,10 +488,16 @@ class FormulairesController extends AppController
 
             if ($success == true) {
                 $this->Formulaire->commit();
-                $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireSupprimer'), 'flashsuccess');
+                $this->Session->setFlash(
+                    __d('formulaire', 'formulaire.flashsuccessFormulaireSupprimer'),
+                    'flashsuccess'
+                );
             } else {
                 $this->Formulaire->rollback();
-                $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+                $this->Session->setFlash(
+                    __d('default', 'default.flasherrorEnregistrementErreur'),
+                    'flasherror'
+                );
             }
         } else {
             throw new ForbiddenException(__d('default', 'default.flasherrorPasDroitPage'));
@@ -504,7 +535,10 @@ class FormulairesController extends AppController
                 $this->Formulaire->getInsertId()
             ]);
         } else {
-            $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+            $this->Session->setFlash(
+                __d('default', 'default.flasherrorEnregistrementErreur'),
+                'flasherror'
+            );
         }
 
         $this->redirect([
@@ -545,8 +579,6 @@ class FormulairesController extends AppController
      */
     public function toggle($id, $state = null)
     {
-        $this->Droits->assertRecordAuthorized('Formulaire', $id);
-
         $success = true;
         $this->Formulaire->begin();
 
@@ -567,12 +599,18 @@ class FormulairesController extends AppController
 
         if ($success == true) {
             $this->Formulaire->commit();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'), 'flashsuccess');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'),
+                'flashsuccess'
+            );
 
             $this->redirect($this->Referers->get());
         } else {
             $this->Formulaire->rollback();
-            $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+            $this->Session->setFlash(
+                __d('default', 'default.flasherrorEnregistrementErreur'),
+                'flasherror'
+            );
         }
     }
 
@@ -631,12 +669,18 @@ class FormulairesController extends AppController
 
         if ($success == true) {
             $this->Formulaire->commit();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'), 'flashsuccess');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'),
+                'flashsuccess'
+            );
 
             $this->redirect($this->Referers->get());
         } else {
             $this->Formulaire->rollback();
-            $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+            $this->Session->setFlash(
+                __d('default', 'default.flasherrorEnregistrementErreur'),
+                'flasherror'
+            );
         }
     }
 
@@ -649,12 +693,18 @@ class FormulairesController extends AppController
 
         if ($success == true) {
             $this->FormulaireOrganisation->commit();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'), 'flashsuccess');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'),
+                'flashsuccess'
+            );
 
             $this->redirect($this->Referers->get());
         } else {
             $this->FormulaireOrganisation->rollback();
-            $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+            $this->Session->setFlash(
+                __d('default', 'default.flasherrorEnregistrementErreur'),
+                'flasherror'
+            );
         }
     }
 
@@ -681,10 +731,16 @@ class FormulairesController extends AppController
 
         if ($success == true) {
             $this->FormulaireOrganisation->commit();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessDissocier'), 'flashsuccess');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flashsuccessDissocier'),
+                'flashsuccess'
+            );
         } else {
             $this->TypageOrganisation->rollback();
-            $this->Session->setFlash(__d('formulaire', 'formulaire.flasherrorErreurDissocier'), 'flasherror');
+            $this->Session->setFlash(
+                __d('formulaire', 'formulaire.flasherrorErreurDissocier'),
+                'flasherror'
+            );
         }
 
         $this->redirect($this->Referers->get());
@@ -799,7 +855,10 @@ class FormulairesController extends AppController
 
             if ($success == true) {
                 $this->Formulaire->commit();
-                $this->Session->setFlash(__d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'), 'flashsuccess');
+                $this->Session->setFlash(
+                    __d('formulaire', 'formulaire.flashsuccessFormulaireEnregistrer'),
+                    'flashsuccess'
+                );
 
                 $this->redirect([
                     'controller' => 'formulaires',
@@ -807,7 +866,10 @@ class FormulairesController extends AppController
                 ]);
             } else {
                 $this->Formulaire->rollback();
-                $this->Session->setFlash(__d('default', 'default.flasherrorEnregistrementErreur'), 'flasherror');
+                $this->Session->setFlash(
+                    __d('default', 'default.flasherrorEnregistrementErreur'),
+                    'flasherror'
+                );
             }
         }
 
diff --git a/app/Controller/ModelesController.php b/app/Controller/ModelesController.php
index 23a09efed15e4836c593e1d855005539051252b0..c7158afadb2d2e44dd79d3aebbf098b3ead05c2c 100644
--- a/app/Controller/ModelesController.php
+++ b/app/Controller/ModelesController.php
@@ -143,38 +143,21 @@ class ModelesController extends AppController {
      */
     protected function _getFormulairesMyOrganisations($mesOrganisations)
     {
-        // Soit on n'a pas encore l'entrée (pour des formulaires associés)
-        $sqlOrganisationIsAssociatedToFormulaire = [];
-        $sqlOrganisationHasModelForFormulaire = [];
-        foreach (array_keys($mesOrganisations) as $organisation_id) {
-            $sqlOrganisationIsAssociatedToFormulaire[] = $this->Formulaire->FormulaireOrganisation->sql([
-                'alias' => 'formulaires_organisations',
-                'fields' => [
-                    'formulaires_organisations.formulaire_id'
-                ],
-                'conditions' => [
-                    'formulaires_organisations.formulaire_id = Formulaire.id',
-                    'formulaires_organisations.organisation_id' => $organisation_id
-                ]
-            ]);
-
-            $sqlOrganisationHasModelForFormulaire[] = $this->Formulaire->FormulaireModeleOrganisation->sql([
-                'alias' => 'formulaires_modeles_organisations',
-                'fields' => [
-                    'formulaires_modeles_organisations.formulaire_id'
-                ],
-                'conditions' => [
-                    'formulaires_modeles_organisations.formulaire_id = Formulaire.id',
-                    'formulaires_modeles_organisations.organisation_id' => $organisation_id
-                ]
-            ]);
-        }
+        $sqlALeDroitUtiliseOrganisation = $this->Formulaire->FormulaireOrganisation->sql([
+            'alias' => 'formulaires_organisations',
+            'fields' => [
+                'formulaires_organisations.formulaire_id'
+            ],
+            'conditions' => [
+                'formulaires_organisations.formulaire_id = Formulaire.id',
+                'formulaires_organisations.organisation_id' => array_keys($mesOrganisations)
+            ]
+        ]);
 
-        // Soit il est déjà utilisé dans un des mes traitements (pour des formulaires non associés)
         $sqlOrganisationAlreadyUsedFormulaire = $this->Fiche->sql([
             'alias' => 'fiches',
             'fields' => [
-                'DISTINCT fiches.form_id'
+                'fiches.form_id'
             ],
             'conditions' => [
                 'fiches.form_id = Formulaire.id',
@@ -182,6 +165,17 @@ class ModelesController extends AppController {
             ]
         ]);
 
+        $sqlFormulaireLieOrganisation = $this->Formulaire->FormulaireModeleOrganisation->sql([
+            'alias' => 'formulaires_modeles_organisations',
+            'fields' => [
+                'formulaires_modeles_organisations.formulaire_id'
+            ],
+            'conditions' => [
+                'formulaires_modeles_organisations.formulaire_id = Formulaire.id',
+                'formulaires_modeles_organisations.organisation_id' => array_keys($mesOrganisations)
+            ]
+        ]);
+
         $query = [
             'fields' => [
                 'Formulaire.id',
@@ -189,17 +183,13 @@ class ModelesController extends AppController {
             ],
             'conditions' => [
                 'OR' => [
-                    // Mon entité est associée au formulaire
-                    'Formulaire.id IN ( '. implode(' UNION ', $sqlOrganisationIsAssociatedToFormulaire) .' )',
-                    [
-                        // Mon entité n'est pas associée au formulaire
-                        'Formulaire.id NOT IN ( '. implode(' UNION ', $sqlOrganisationIsAssociatedToFormulaire) .' )',
-                        // Mais le formulaire a déjà été utilisé dans mon entité
-                        "Formulaire.id IN ( {$sqlOrganisationAlreadyUsedFormulaire} )",
-                    ]
+                    // Le formulaire a le droit d'être utilisé dans mon organisation
+                    "Formulaire.id IN ( {$sqlALeDroitUtiliseOrganisation} )",
+                    // le formulaire a déjà été utilisé dans une fiche de mon organisation
+                    "Formulaire.id IN ( {$sqlOrganisationAlreadyUsedFormulaire} )"
                 ],
-                // Il n'existe pas encore de modèle pour ce formulaire dans mon entité
-                'Formulaire.id NOT IN ( '. implode(' INTERSECT ', $sqlOrganisationHasModelForFormulaire) .' )',
+                // le formulaire n'est pas encore utilisé dans mon organisation
+                "Formulaire.id NOT IN ( {$sqlFormulaireLieOrganisation} )"
             ],
             'order' => [
                 'Formulaire.libelle ASC'
@@ -231,7 +221,7 @@ class ModelesController extends AppController {
                 $this->Modele->FormulaireModeleOrganisation->join('Organisation')
             ],
             'fields' => [
-                'DISTINCT Modele.id',
+                'Modele.id',
                 'Modele.name_modele',
                 'Modele.fichier',
                 'Formulaire.id',
@@ -239,7 +229,14 @@ class ModelesController extends AppController {
             ],
             'order' => [
                 'Formulaire.libelle ASC',
-            ]
+            ],
+            'group' => [
+                'Modele.id',
+                'Modele.name_modele',
+                'Modele.fichier',
+                'Formulaire.id',
+                'Formulaire.libelle',
+            ],
         ];
 
         if ($this->request->params['action'] === 'entite') {
diff --git a/app/Model/Fiche.php b/app/Model/Fiche.php
index 363f8b2ad904e0a54ffe42d0c226cedd2a2954e0..f4a0c3f1e43fea80d6e39d944f4b851f8d8ee930 100644
--- a/app/Model/Fiche.php
+++ b/app/Model/Fiche.php
@@ -280,7 +280,7 @@ class Fiche extends AppModel implements LinkedOrganisationInterface {
         "Évaluation/scoring" => "Évaluation/scoring (y compris le profilage)",
         "Décision automatique avec effet légal ou similaire" => "Décision automatique avec effet légal ou similaire",
         "Surveillance systématique" => "Surveillance systématique",
-        "Données sensibles ou hautement personnellles" => "Données sensibles ou hautement personnellles (santé, géolocalisation, etc.)",
+        "Données sensibles ou hautement personnellles" => "Données sensibles ou hautement personnelles (santé, géolocalisation, etc.)",
         "Collecte à large échelle" => "Collecte à large échelle",
         "Croisement de données" => "Croisement de données",
         "Personnes vulnérables" => "Personnes vulnérables (patients, personnes âgées, enfants, etc.)",
diff --git a/app/View/Elements/Modele/modalAddModeleToFormulaireToEntity.ctp b/app/View/Elements/Modele/modalAddModeleToFormulaireToEntity.ctp
index 4ce9d61963e2f68856d17ccf27926899aafaa815..07e995947086e48f82080e69547a7445b2964e0e 100644
--- a/app/View/Elements/Modele/modalAddModeleToFormulaireToEntity.ctp
+++ b/app/View/Elements/Modele/modalAddModeleToFormulaireToEntity.ctp
@@ -5,9 +5,10 @@ $body = '<div class="row top17">'
                 'addFormulaire_id' => [
                     'id' => 'addFormulaire_id',
                     'options' => $mesFormulaires,
+                    'class' => 'usersDeroulant form-control',
                     'required' => true,
                     'empty' => true,
-                    'data-placeholder' => __d('registre', 'registre.placeholderSelectionnerUser'),
+                    'data-placeholder' => 'Sélectionnez un formulaire',
                 ],
                 'addOrganisation_id' => [
                     'id' => 'addOrganisation_id',
diff --git a/app/View/Modeles/index.ctp b/app/View/Modeles/index.ctp
index 56ab428cb6b7e8778076bebfe7e555c8a989234b..2a67fc29d26821dc898ed9df9d4a2211ad896cc6 100755
--- a/app/View/Modeles/index.ctp
+++ b/app/View/Modeles/index.ctp
@@ -2,7 +2,21 @@
 $this->Breadcrumbs->breadcrumbs([
     $title => []
 ]);
+?>
+
+<!--Bouton de création d'un modele -->
+<div class="row text-left">
+    <div class="col-md-12 text-left">
+        <button id="btnAddModeleToForm" type="button" class="btn btn-outline-primary" data-toggle="modal" data-target="#modalAddModele">
+            <span class="fa fa-plus fa-lg"></span>
+            <?php
+            echo __d('modele', 'modele.btnCreerModele');
+            ?>
+        </button>
+    </div>
+</div>
 
+<?php
 $pagination = null;
 
 $this->Paginator->options([
@@ -10,9 +24,9 @@ $this->Paginator->options([
 ]);
 $pagination = $this->element('pagination');
 
-echo $pagination;
-
 if (!empty($modeles)) {
+    echo $pagination;
+
     echo $this->element('Buttons/affecterEntite', [
         'titleBtn' => __d('modele', 'modele.popupTitreAffecterModeleFormulaire')
     ]);
@@ -145,6 +159,7 @@ if (!empty($modeles)) {
         </tbody>
     </table>
     <?php
+    echo $pagination;
 } else {
     ?>
     <div class='text-center'>
diff --git a/docker/app/Dockerfile b/docker/app/Dockerfile
index 2b3f002a8b560896cb2d309c3ba6b22de147b7a5..0e48332f91a1cd6e41e1a8ca6e05633d08a39fac 100644
--- a/docker/app/Dockerfile
+++ b/docker/app/Dockerfile
@@ -67,9 +67,10 @@ RUN ( \
         postgresql-client=12+* \
         python3-pip=20.0* \
         python3-setuptools=45.2.* \
+        python3-software-properties=0.99.* \
         rsyslog=8.* \
         ssh=1:8.* \
-        software-properties-common=0.98.* \
+        software-properties-common=0.99.* \
         sudo=1.8.* \
         tzdata=* \
         unzip=6.0-* \