diff --git a/code/template/GenerateRubrique/champInput b/code/template/GenerateRubrique/champInput
new file mode 100644
index 0000000000000000000000000000000000000000..9c1cc705d81824f777d15431d1d68d0dfa77ec1f
--- /dev/null
+++ b/code/template/GenerateRubrique/champInput
@@ -0,0 +1,7 @@
+$this->add([
+            'name'    => 'champtiret',
+            'options' => [
+                'label' => "champphrase",
+            ],
+            'type'    => 'Text',
+        ]);
diff --git a/code/template/GenerateRubrique/champListe b/code/template/GenerateRubrique/champListe
new file mode 100644
index 0000000000000000000000000000000000000000..37e3d23bc37a96b7ef63cb042d3e17c67fc95ec9
--- /dev/null
+++ b/code/template/GenerateRubrique/champListe
@@ -0,0 +1,14 @@
+$this->add([
+            'name'       => 'champtiret',
+            'options'    => [
+                'label' => 'champphrase',
+            ],
+            'attributes' => [
+                'class'            => 'selectpicker',
+                'data-live-search' => 'true',
+            ],
+            'type'       => 'Select',
+        ]);
+       $this->get('champtiret')
+            ->setEmptyOption("(Aucun)")
+            ->setValueOptions(\UnicaenApp\Util::collectionAsOptions($this->getServicechampmaj()->getList()));
diff --git a/code/template/GenerateRubrique/config_php b/code/template/GenerateRubrique/config_php
new file mode 100644
index 0000000000000000000000000000000000000000..f61b144ded3d2470cfe961de598df799af80e797
--- /dev/null
+++ b/code/template/GenerateRubrique/config_php
@@ -0,0 +1,103 @@
+<?php
+
+namespace Application;
+
+use Application\Provider\Privilege\Privileges;
+use UnicaenAuth\Guard\PrivilegeController;
+
+return [
+    'router'          => [
+        'routes' => [
+            'nomtiret' => [
+                'type'          => 'Literal',
+                'options'       => [
+                    'route'    => '/nomtiret',
+                    'defaults' => [
+                        'controller'    => 'Application\Controller\nommaj',
+                        'action'        => 'index',
+                    ],
+                ],
+                'may_terminate' => true,
+                'child_routes'  => [
+                    'delete'  => [
+                        'type'    => 'Segment',
+                        'options' => [
+                            'route'       => '/delete/:nomtiret',
+                            'constraints' => [
+                                'nomtiret' => '[0-9]*',
+                            ],
+                            'defaults'    => [
+                                'action' => 'delete',
+                            ],
+                        ],
+                    ],
+                    'saisie' => [
+                        'type'    => 'Segment',
+                        'options' => [
+                            'route'       => '/saisie/[:nomtiret]',
+                            'constraints' => [
+                                'nomtiret' => '[0-9]*',
+                            ],
+                            'defaults'    => [
+                                'action' => 'saisie',
+                            ],
+                        ],
+                    ],
+                ],
+            ],
+        ],
+    ],
+    'navigation'    => [
+        'default' => [
+            'home' => [
+                'pages' => [
+                    'administration' => [
+                        'pages' => [
+                            'nomtiret' => [
+                                'label'        => 'nommaj',
+                                'icon'         => 'fa fa-graduation-cap',
+                                'route'        => 'nomtiret',
+                                'resource'     => PrivilegeController::getResourceId('Application\Controller\nommaj', 'index'),
+                                'order'        => 80,
+                                'border-color' => '#BBCF55',
+                            ],
+                        ],
+                    ],
+                ],
+            ],
+        ],
+	],
+    'bjyauthorize'    => [
+        'guards' => [
+            PrivilegeController::class => [
+                [
+                    'controller' => 'Application\Controller\nommaj',
+                    'action'     => ['index'],
+                    'privileges' => Privileges::droitvisualisation,
+                ],
+                [
+                    'controller' => 'Application\Controller\nommaj',
+                    'action'     => ['saisie','delete'],
+                    'privileges' => Privileges::droitedition,
+                ],
+            ],
+        ],
+    ],
+    'controllers'     => [
+        'invokables' => [
+            'Application\Controller\nommaj' => Controller\nommajController::class,
+        ],
+    ],
+    'service_manager' => [
+        'invokables' => [
+            Service\nommajService::class            => Service\nommajService::class,
+        ],
+    ],
+    'view_helpers'    => [
+    ],
+    'form_elements'   => [
+        'invokables' => [
+            Form\nommaj\Saisie::class                 => Form\nommaj\Saisie::class,
+        ],
+    ],
+];
diff --git a/code/template/GenerateRubrique/controller_php b/code/template/GenerateRubrique/controller_php
new file mode 100644
index 0000000000000000000000000000000000000000..0d8f8ec9539b421764a9e4452cb0f3e8eb964b6d
--- /dev/null
+++ b/code/template/GenerateRubrique/controller_php
@@ -0,0 +1,69 @@
+<?php
+
+namespace Application\Controller;
+
+use Application\Entity\Db\nommaj;
+use Application\Service\Traits\nommajServiceAwareTrait;
+use Application\Exception\DbException;
+use Application\Form\nommaj\Traits\nommajSaisieFormAwareTrait;
+use UnicaenApp\View\Model\MessengerViewModel;
+
+class nommajController extends AbstractController
+{
+    use nommajServiceAwareTrait;
+    use nommajSaisieFormAwareTrait;
+
+
+    public function indexAction()
+    {
+        $this->em()->getFilters()->enable('historique')->init([
+            nommaj::class,
+        ]);
+
+        $nomms = $this->getServicenommaj()->getList();
+
+        return compact('nomms');
+    }
+
+
+
+    public function saisieAction()
+    {
+        /* @var $nomm nommaj */
+
+        $nomm = $this->getEvent()->getParam('nomtiret');
+
+        $form = $this->getFormnommajSaisie();
+        if (empty($nomm)) {
+            $title = 'Création d\'une nouvelle nommaj';
+            $nomm = $this->getServicenommaj()->newEntity();
+        } else {
+            $title = 'Édition d\'une nommaj';
+        }
+
+        $form->bindRequestSave($nomm, $this->getRequest(), function (nommaj $fr) {
+            try {
+                $this->getServicenommaj()->save($fr);
+                $this->flashMessenger()->addSuccessMessage('Enregistrement effectué');
+            } catch (\Exception $e) {
+                $e = DbException::translate($e);
+                $this->flashMessenger()->addErrorMessage($e->getMessage() . ':' . $fr->getId());
+            }
+        });
+
+        return compact('form', 'title');
+    }
+
+    public function deleteAction()
+    {
+        $nomm = $this->getEvent()->getParam('nomtiret');
+
+        try {
+            $this->getServicenommaj()->delete($nomm);
+            $this->flashMessenger()->addSuccessMessage("nommaj supprimée avec succès.");
+        } catch (\Exception $e) {
+            $this->flashMessenger()->addErrorMessage(DbException::translate($e)->getMessage());
+        }
+        return new MessengerViewModel(compact('nomm'));
+    }
+}
diff --git a/code/template/GenerateRubrique/idx1 b/code/template/GenerateRubrique/idx1
new file mode 100644
index 0000000000000000000000000000000000000000..2486d51cf8e06dafe3cf49cbfb0b0b21f9d92a77
--- /dev/null
+++ b/code/template/GenerateRubrique/idx1
@@ -0,0 +1,17 @@
+<?php
+/**
+ * @var $this \Application\View\Renderer\PhpRenderer
+ * @var $nomms \Application\Entity\Db\nommaj[]
+ */
+
+use Application\Provider\Privilege\Privileges;
+
+$this->headTitle()->append("nomsouss");
+
+$canEdit = $this->isAllowed(Privileges::getResourceId(Privileges::droitedition));
+
+?>
+    <h1 class="page-header">nomsouss</h1>
+
+    <table class="table table-bordered table-sort">
+        <thead>
diff --git a/code/template/GenerateRubrique/idx20 b/code/template/GenerateRubrique/idx20
new file mode 100644
index 0000000000000000000000000000000000000000..f436f2d9e7404b1a663c0c3b9dfb294dd291bdc1
--- /dev/null
+++ b/code/template/GenerateRubrique/idx20
@@ -0,0 +1,5 @@
+<?php if ($canEdit) echo '<th>Actions</th>' ?>
+        </thead>
+        <tbody>
+        <?php foreach ($nomms as $fr): ?>
+            <tr>
diff --git a/code/template/GenerateRubrique/idx3 b/code/template/GenerateRubrique/idx3
new file mode 100644
index 0000000000000000000000000000000000000000..03107a477361aa81927412ddda01b044b0b5e723
--- /dev/null
+++ b/code/template/GenerateRubrique/idx3
@@ -0,0 +1,38 @@
+                    <?php if ($canEdit) { ?>
+                    <td style="text-align:center;width:1px;white-space: nowrap">
+                        <a class="ajax-modal" data-event="nomtiret-saisie"
+                           href="<?= $this->url('nomtiret/saisie', ['nomtiret' => $fr->getId()]) ?>"
+                           title="Modifier la nommaj">
+                            <span class="glyphicon glyphicon-edit"></span></a>
+                        <a class="pop-ajax"
+                           href="<?= $this->url('nomtiret/delete', ['nomtiret' => $fr->getId()]) ?>"
+                           title="Supprimer la nommaj"
+                           data-content="<p class='lead text-danger'><strong>Attention!</strong> Confirmez-vous cette suppression ?</p>"
+                           data-confirm="true"
+                           data-confirm-button="Oui"
+                           data-cancel-button="Non"
+                           data-submit-reload="true"
+                        >
+                            <span class="glyphicon glyphicon-remove"></span>
+                        </a>
+                    </td>
+                <?php } ?>
+            </tr>
+        <?php endforeach; ?>
+        </tbody>
+    </table>
+    <?php if ($canEdit): ?>
+    <a class="btn btn-primary ajax-modal" data-event="nomtiret-saisie"
+       href="<?= $this->url('nomtiret/saisie') ?>"
+       title="Ajouter une nomsous">
+        <span class="glyphicon glyphicon-edit"></span>
+        Ajouter une nomsous</a>
+
+    <script type="text/javascript">
+        $(function () {
+            $("body").on("nomtiret-saisie", function (event, data) {
+                window.location.reload();
+            });
+        });
+    </script>
+<?php endif ?>
diff --git a/code/template/GenerateRubrique/saisieFormAwareTrait_php b/code/template/GenerateRubrique/saisieFormAwareTrait_php
new file mode 100644
index 0000000000000000000000000000000000000000..c8ada69ba438eeee6c0c4cb0badd418407f3452b
--- /dev/null
+++ b/code/template/GenerateRubrique/saisieFormAwareTrait_php
@@ -0,0 +1,48 @@
+<?php
+
+namespace Application\Form\nommaj\Traits;
+
+use Application\Form\nommaj\nommajSaisieForm;
+
+/**
+ * Description of nommajSaisieFormAwareTrait
+ *
+ * @author UnicaenCode
+ */
+trait nommajSaisieFormAwareTrait
+{
+    /**
+     * @var nommajSaisieForm
+     */
+    private $formnommajSaisie;
+
+
+
+    /**
+     * @param nommajSaisieForm $formnommajSaisie
+     *
+     * @return self
+     */
+    public function setFormnommajSaisie(nommajSaisieForm $formnommajSaisie)
+    {
+        $this->formnommajSaisie = $formnommajSaisie;
+
+        return $this;
+    }
+
+
+
+    /**
+     * Retourne un nouveau formulaire ou fieldset systématiquement, sauf si ce dernier a été fourni manuellement.
+     *
+     * @return nommajSaisieForm
+     */
+    public function getFormnommajSaisie()
+    {
+        if (!empty($this->formnommajSaisie)) {
+            return $this->formnommajSaisie;
+        }
+
+        return \Application::$container->get('FormElementManager')->get(nommajSaisieForm::class);
+    }
+}
diff --git a/code/template/GenerateRubrique/saisie_phtml b/code/template/GenerateRubrique/saisie_phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3f25fc91b0575916110e586b6deed9ef66f79f35
--- /dev/null
+++ b/code/template/GenerateRubrique/saisie_phtml
@@ -0,0 +1,8 @@
+<?php
+/**
+ * @var $this  \Application\View\Renderer\PhpRenderer
+ * @var $form  \Application\Form\nommaj\nommajSaisieForm
+ */
+
+echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
+echo $this->form($form);
diff --git a/code/template/GenerateRubrique/serviceTrait_php b/code/template/GenerateRubrique/serviceTrait_php
new file mode 100644
index 0000000000000000000000000000000000000000..1c4de1dfd4f3059e90ae920c4f5276ae5fda4bfb
--- /dev/null
+++ b/code/template/GenerateRubrique/serviceTrait_php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Application\Service\Traits;
+
+use Application\Service\nommajService;
+
+/**
+ * Description of nommajAwareTrait
+ *
+ * @author UnicaenCode
+ */
+trait nommajServiceAwareTrait
+{
+    /**
+     * @var nommajService
+     */
+    private $servicenommaj;
+
+
+
+    /**
+     * @param nommajService $servicenommaj
+     *
+     * @return self
+     */
+    public function setServicenommaj(nommajService $servicenommaj)
+    {
+        $this->servicenommaj = $servicenommaj;
+
+        return $this;
+    }
+
+
+
+    /**
+     * @return nommajService
+     */
+    public function getServicenommaj()
+    {
+        if (empty($this->servicenommaj)) {
+            $this->servicenommaj = \Application::$container->get(nommajService::class);
+        }
+
+        return $this->servicenommaj;
+    }
+}
diff --git a/code/template/GenerateRubrique/service_php b/code/template/GenerateRubrique/service_php
new file mode 100644
index 0000000000000000000000000000000000000000..ed37814c30cd1326f2883eb298466b26051c709f
--- /dev/null
+++ b/code/template/GenerateRubrique/service_php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Application\Service;
+use Doctrine\ORM\QueryBuilder;
+
+/**
+ * Description of nommaj
+ *
+ */
+class nommajService extends AbstractEntityService
+{
+    /**
+     * retourne la classe des entit?s
+     *
+     * @return string
+     * @throws RuntimeException
+     */
+    public function getEntityClass()
+    {
+        return \Application\Entity\Db\nommaj::class;
+    }
+
+    /**
+     * Retourne l'alias d'entit? courante
+     *
+     * @return string
+     */
+    public function getAlias()
+    {
+        return 'fr';
+    }
+
+    public function getList(QueryBuilder $qb = null, $alias = null)
+    {
+        list($qb, $alias) = $this->initQuery();
+        return parent::getList($qb, $alias);
+    }
+}
diff --git a/composer.lock b/composer.lock
index 7313900540e071eb38c1916cb38f523641cdec36..ca1c072378a5b19f7391cf1f25687551d7deffad 100644
--- a/composer.lock
+++ b/composer.lock
@@ -147,37 +147,33 @@
         },
         {
             "name": "doctrine/cache",
-            "version": "v1.7.1",
+            "version": "v1.6.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/cache.git",
-                "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
+                "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
-                "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
+                "url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b",
+                "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b",
                 "shasum": ""
             },
             "require": {
-                "php": "~7.1"
+                "php": "~5.5|~7.0"
             },
             "conflict": {
                 "doctrine/common": ">2.2,<2.4"
             },
             "require-dev": {
-                "alcaeus/mongo-php-adapter": "^1.1",
-                "mongodb/mongodb": "^1.1",
-                "phpunit/phpunit": "^5.7",
-                "predis/predis": "~1.0"
-            },
-            "suggest": {
-                "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
+                "phpunit/phpunit": "~4.8|~5.0",
+                "predis/predis": "~1.0",
+                "satooshi/php-coveralls": "~0.6"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.7.x-dev"
+                    "dev-master": "1.6.x-dev"
                 }
             },
             "autoload": {
@@ -217,24 +213,24 @@
                 "cache",
                 "caching"
             ],
-            "time": "2017-08-25T07:02:50+00:00"
+            "time": "2017-07-22T12:49:21+00:00"
         },
         {
             "name": "doctrine/collections",
-            "version": "v1.5.0",
+            "version": "v1.4.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/collections.git",
-                "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf"
+                "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
-                "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
+                "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba",
+                "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba",
                 "shasum": ""
             },
             "require": {
-                "php": "^7.1"
+                "php": "^5.6 || ^7.0"
             },
             "require-dev": {
                 "doctrine/coding-standard": "~0.1@dev",
@@ -284,7 +280,7 @@
                 "collections",
                 "iterator"
             ],
-            "time": "2017-07-22T10:37:32+00:00"
+            "time": "2017-01-03T10:49:41+00:00"
         },
         {
             "name": "doctrine/common",
@@ -361,26 +357,24 @@
         },
         {
             "name": "doctrine/dbal",
-            "version": "v2.6.3",
+            "version": "v2.5.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/dbal.git",
-                "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13"
+                "reference": "729340d8d1eec8f01bff708e12e449a3415af873"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/dbal/zipball/e3eed9b1facbb0ced3a0995244843a189e7d1b13",
-                "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13",
+                "url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873",
+                "reference": "729340d8d1eec8f01bff708e12e449a3415af873",
                 "shasum": ""
             },
             "require": {
-                "doctrine/common": "^2.7.1",
-                "ext-pdo": "*",
-                "php": "^7.1"
+                "doctrine/common": ">=2.4,<2.8-dev",
+                "php": ">=5.3.2"
             },
             "require-dev": {
-                "phpunit/phpunit": "^5.4.6",
-                "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5",
+                "phpunit/phpunit": "4.*",
                 "symfony/console": "2.*||^3.0"
             },
             "suggest": {
@@ -392,7 +386,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.6.x-dev"
+                    "dev-master": "2.5.x-dev"
                 }
             },
             "autoload": {
@@ -430,7 +424,7 @@
                 "persistence",
                 "queryobject"
             ],
-            "time": "2017-11-19T13:38:54+00:00"
+            "time": "2017-07-22T20:44:48+00:00"
         },
         {
             "name": "doctrine/doctrine-module",
@@ -590,20 +584,20 @@
         },
         {
             "name": "doctrine/inflector",
-            "version": "v1.3.0",
+            "version": "v1.2.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/inflector.git",
-                "reference": "5527a48b7313d15261292c149e55e26eae771b0a"
+                "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a",
-                "reference": "5527a48b7313d15261292c149e55e26eae771b0a",
+                "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462",
+                "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462",
                 "shasum": ""
             },
             "require": {
-                "php": "^7.1"
+                "php": "^7.0"
             },
             "require-dev": {
                 "phpunit/phpunit": "^6.2"
@@ -611,7 +605,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.3.x-dev"
+                    "dev-master": "1.2.x-dev"
                 }
             },
             "autoload": {
@@ -653,36 +647,36 @@
                 "singularize",
                 "string"
             ],
-            "time": "2018-01-09T20:05:19+00:00"
+            "time": "2017-07-22T12:18:28+00:00"
         },
         {
             "name": "doctrine/instantiator",
-            "version": "1.1.0",
+            "version": "1.0.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/instantiator.git",
-                "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
+                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
-                "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
+                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
                 "shasum": ""
             },
             "require": {
-                "php": "^7.1"
+                "php": ">=5.3,<8.0-DEV"
             },
             "require-dev": {
                 "athletic/athletic": "~0.1.8",
                 "ext-pdo": "*",
                 "ext-phar": "*",
-                "phpunit/phpunit": "^6.2.3",
-                "squizlabs/php_codesniffer": "^3.0.2"
+                "phpunit/phpunit": "~4.0",
+                "squizlabs/php_codesniffer": "~2.0"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.2.x-dev"
+                    "dev-master": "1.0.x-dev"
                 }
             },
             "autoload": {
@@ -707,7 +701,7 @@
                 "constructor",
                 "instantiate"
             ],
-            "time": "2017-07-22T11:58:36+00:00"
+            "time": "2015-06-14T21:17:01+00:00"
         },
         {
             "name": "doctrine/lexer",
diff --git a/module/Application/config/modulateur.config.php b/module/Application/config/modulateur.config.php
index 05d60c9311d550f813639ca08aff44563988b236..bcd95aec5098bf8367962a3430f517dc49f13f6f 100644
--- a/module/Application/config/modulateur.config.php
+++ b/module/Application/config/modulateur.config.php
@@ -73,6 +73,32 @@ return [
                         ],
                         'may_terminate' => true,
                     ],
+                    'type-modulateur-structure-saisie' => [
+                        'type'          => 'Segment',
+                        'options'       => [
+                            'route'       => '/type-modulateur-structure-saisie/:typeModulateur',
+                            'constraints' => [
+                                'typeModulateur' => '[0-9]*',
+                            ],
+                            'defaults'    => [
+                                'action' => 'type-modulateur-structure-saisie',
+                            ],
+                        ],
+                        'may_terminate' => true,
+                    ],
+                    'type-modulateur-structure-delete' => [
+                        'type'          => 'Segment',
+                        'options'       => [
+                            'route'       => '/type-modulateur-structure-delete/:typeModulateurStructure',
+                            'constraints' => [
+                                'typeModulateurStructure' => '[0-9]*',
+                            ],
+                            'defaults'    => [
+                                'action' => 'type-modulateur-structure-delete',
+                            ],
+                        ],
+                        'may_terminate' => true,
+                    ],
                 ],
             ],
         ],
@@ -106,7 +132,7 @@ return [
                 ],
                 [
                     'controller' => 'Application\Controller\Modulateur',
-                    'action'     => ['saisie', 'delete', 'type-modulateur-saisie', 'type-modulateur-delete'],
+                    'action'     => ['saisie', 'delete', 'type-modulateur-saisie', 'type-modulateur-delete','type-modulateur-structure-saisie','type-modulateur-structure-delete'],
                     'privileges' => [Privileges::MODULATEUR_EDITION],
                 ],
             ],
@@ -143,6 +169,7 @@ return [
         'invokables' => [
             Form\Modulateur\ModulateurSaisieForm::class     => Form\Modulateur\ModulateurSaisieForm::class,
             Form\Modulateur\TypeModulateurSaisieForm::class => Form\Modulateur\TypeModulateurSaisieForm::class,
+            Form\Modulateur\TypeModulateurStructureSaisieForm::class => Form\Modulateur\TypeModulateurStructureSaisieForm::class,
         ],
     ],
 ];
diff --git a/module/Application/src/Application/Controller/ModulateurController.php b/module/Application/src/Application/Controller/ModulateurController.php
index 116b6d25f8ab18b2bd2ba02b978cef2707e2cfb1..b2d800cf3cce800c4dd5c79cb07a36802b327773 100755
--- a/module/Application/src/Application/Controller/ModulateurController.php
+++ b/module/Application/src/Application/Controller/ModulateurController.php
@@ -12,6 +12,7 @@ use Application\Form\Modulateur\Traits\ModulateurSaisieFormAwareTrait;
 use UnicaenApp\View\Model\MessengerViewModel;
 use Application\Service\Traits\TypeModulateurServiceAwareTrait;
 use Application\Form\Modulateur\Traits\TypeModulateurSaisieFormAwareTrait;
+use Application\Form\Modulateur\Traits\TypeModulateurStructureSaisieFormAwareTrait;
 use Application\Service\Traits\ContextServiceAwareTrait;
 
 class modulateurController extends AbstractController
@@ -21,6 +22,7 @@ class modulateurController extends AbstractController
     use ModulateurSaisieFormAwareTrait;
     use TypeModulateurSaisieFormAwareTrait;
     use TypeModulateurStructureServiceAwareTrait;
+    use TypeModulateurStructureSaisieFormAwareTrait;
     use ContextServiceAwareTrait;
 
 
@@ -138,6 +140,49 @@ class modulateurController extends AbstractController
             $this->flashMessenger()->addErrorMessage(DbException::translate($e)->getMessage());
         }
 
+        return new MessengerViewModel(compact('typeModulateur'));
+    }
+    public function typeModulateurStructureSaisieAction()
+    {
+        /* @var $typeModulateurStructure typeModulateurStructure */
+        /* @var $typeModulateur typeModulateur */
+        $typeModulateur = $this->getEvent()->getParam('typeModulateur');
+
+        $form = $this->getFormTypeModulateurStructureSaisie();
+  //      if (empty($typeModulateurStructure)) {
+            $title          = 'Création d\'un nouveau Type de Modulateur de Structure';
+            $typeModulateurStructure = $this->getServiceTypeModulateurStructure()->newEntity()
+                ->setTypeModulateur($typeModulateur);
+            //    } else {
+            //$title = 'Édition d\'un Type de Modulateur pour une structure';
+        //}
+
+        $form->bindRequestSave($typeModulateurStructure, $this->getRequest(), function (typeModulateurStructure $tms) {
+            try {
+                $this->getServiceTypeModulateurStructure()->save($tms);
+                $this->flashMessenger()->addSuccessMessage('Enregistrement effectué');
+            } catch (\Exception $e) {
+                $e = DbException::translate($e);
+                $this->flashMessenger()->addErrorMessage($e->getMessage() . ':' . $tms->getId().':'.$tms->getTypeModulateur());
+            }
+        });
+
+        return compact('form', 'title');
+    }
+
+
+
+    public function typeModulateurStructureDeleteAction()
+    {
+        /* @var $typeModulateurStructure typeModulateurStructure */
+        $typeModulateurStructure = $this->getEvent()->getParam('typeModulateurStructure');
+        try {
+            $this->getServiceTypeModulateurStructure()->delete($typeModulateurStructure);
+            $this->flashMessenger()->addSuccessMessage("Type de Modulateur de structure supprimé avec succès.");
+        } catch (\Exception $e) {
+            $this->flashMessenger()->addErrorMessage(DbException::translate($e)->getMessage());
+        }
+
         return new MessengerViewModel(compact('typeModulateur'));
     }
 }
\ No newline at end of file
diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml
index 518fc5bd6e1cbad7a3f66f24a6a8433b96785790..baa16aaaa9a4a6a7d9b314cb39ce7708e53fde5f 100644
--- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml
+++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeModulateurStructure.dcm.xml
@@ -13,10 +13,17 @@
     </unique-constraints>
     <id name="id" type="integer" column="ID">
       <generator strategy="SEQUENCE"/>
+      <sequence-generator sequence-name="TYPE_MODULATEUR_STRUCTU_ID_SEQ" allocation-size="1"/>
     </id>
     <field name="histoCreation" type="datetime" column="HISTO_CREATION" nullable="false"/>
     <field name="histoDestruction" type="datetime" column="HISTO_DESTRUCTION" nullable="true"/>
     <field name="histoModification" type="datetime" column="HISTO_MODIFICATION" nullable="false"/>
+    <many-to-one field="anneeDebut" target-entity="Application\Entity\Db\Annee">
+      <join-column name="ANNEE_DEBUT_ID" referenced-column-name="ID"/>
+    </many-to-one>
+    <many-to-one field="anneeFin" target-entity="Application\Entity\Db\Annee">
+      <join-column name="ANNEE_FIN_ID" referenced-column-name="ID"/>
+    </many-to-one>
     <many-to-one field="histoModificateur" target-entity="Application\Entity\Db\Utilisateur">
       <join-columns>
         <join-column name="HISTO_MODIFICATEUR_ID" referenced-column-name="ID"/>
diff --git a/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php b/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php
index e36a9c82350dd31093489fc103b64de75a82b8b3..b5edd8d39ee9696ff43983a5d36c6bba5ad92a97 100644
--- a/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php
+++ b/module/Application/src/Application/Entity/Db/TypeModulateurStructure.php
@@ -26,6 +26,15 @@ class TypeModulateurStructure implements HistoriqueAwareInterface
      */
     protected $structure;
 
+    /**
+     * @var Annee
+     */
+    private $anneeDebut;
+
+    /**
+     * @var Annee
+     */
+    private $anneeFin;
 
 
     /**
@@ -93,4 +102,51 @@ class TypeModulateurStructure implements HistoriqueAwareInterface
     {
         return $this->structure;
     }
+
+    /**
+     * @return Annee
+     */
+    public function getAnneeDebut()
+    {
+        return $this->anneeDebut;
+    }
+
+
+
+    /**
+     * @param Annee $anneeDebut
+     *
+     * @return TypeInterventionStructure
+     */
+    public function setAnneeDebut(Annee $anneeDebut = null)
+    {
+        $this->anneeDebut = $anneeDebut;
+
+        return $this;
+    }
+
+
+
+    /**
+     * @return Annee
+     */
+    public function getAnneeFin()
+    {
+        return $this->anneeFin;
+    }
+
+
+
+    /**
+     * @param Annee $anneeFin
+     *
+     * @return TypeInterventionStructure
+     */
+    public function setAnneeFin(Annee $anneeFin = null)
+    {
+        $this->anneeFin = $anneeFin;
+
+        return $this;
+    }
+
 }
diff --git a/module/Application/src/Application/Form/Modulateur/Traits/TypeModulateurStructureSaisieFormAwareTrait.php b/module/Application/src/Application/Form/Modulateur/Traits/TypeModulateurStructureSaisieFormAwareTrait.php
new file mode 100755
index 0000000000000000000000000000000000000000..4a72c2a711c66e812b56598d95db027cf622d111
--- /dev/null
+++ b/module/Application/src/Application/Form/Modulateur/Traits/TypeModulateurStructureSaisieFormAwareTrait.php
@@ -0,0 +1,49 @@
+<?php
+
+namespace Application\Form\Modulateur\Traits;
+
+use Application\Form\Modulateur\TypeModulateurStructureSaisieForm;
+
+/**
+ * Description of TypeModulateurStructureSaisieFormAwareTrait
+ *
+ * @author UnicaenCode
+ */
+trait TypeModulateurStructureSaisieFormAwareTrait
+{
+    /**
+     * @var TypeModulateurStructureSaisieForm
+     */
+    private $formTypeModulateurStructureSaisie;
+
+
+
+    /**
+     * @param TypeModulateurStrucureSaisieForm $formTypeModulateurStructureSaisie
+     *
+     * @return self
+     */
+    public function setFormTypeModulateurStructureSaisie(TypeModulateurStructureSaisieForm $formTypeModulateurStructureSaisie)
+    {
+        $this->formTypeModulateurStrucureSaisie = $formTypeModulateurStructureSaisie;
+
+        return $this;
+    }
+
+
+
+    /**
+     * Retourne un nouveau formulaire ou fieldset systématiquement, sauf si ce dernier a été fourni manuellement.
+     *
+     * @return TypeModulateurStructureSaisieForm
+     */
+    public function getFormTypeModulateurStructureSaisie()
+    {
+        if (!empty($this->formTypeModulateurStructureSaisie)) {
+            return $this->formTypeModulateurStructureSaisie;
+        }
+
+        return \Application::$container->get('FormElementManager')->get(TypeModulateurStructureSaisieForm::class);
+    }
+}
+
diff --git a/module/Application/src/Application/Form/Modulateur/TypeModulateurStructureSaisieForm.php b/module/Application/src/Application/Form/Modulateur/TypeModulateurStructureSaisieForm.php
new file mode 100644
index 0000000000000000000000000000000000000000..fe0f3dbe137df7d0ab1118647435962f53ac51bd
--- /dev/null
+++ b/module/Application/src/Application/Form/Modulateur/TypeModulateurStructureSaisieForm.php
@@ -0,0 +1,187 @@
+<?php
+
+namespace Application\Form\modulateur;
+
+use Application\Form\AbstractForm;
+use Application\Service\Traits\TypeModulateurServiceAwareTrait;
+use Zend\Form\Element\Csrf;
+use Zend\Stdlib\Hydrator\HydratorInterface;
+use Application\Service\Traits\ContextServiceAwareTrait;
+use Application\Service\Traits\StructureServiceAwareTrait;
+use Application\Service\Traits\TypeModulateurStructureServiceAwareTrait;
+use UnicaenApp\Util;
+use Application\Service\Traits\AnneeServiceAwareTrait;
+
+
+/**
+ * Description of typeModulateurSaisieForm
+ *
+ * @author ZVENIGOROSKY Alexandre <alexandre.zvenigorosky at unicaen.fr>
+ */
+class typeModulateurStructureSaisieForm extends AbstractForm
+{
+    use ContextServiceAwareTrait;
+    use TypeModulateurStructureServiceAwareTrait;
+    use StructureServiceAwareTrait;
+    use AnneeServiceAwareTrait;
+    use TypeModulateurServiceAwareTrait;
+
+
+
+    public function init()
+    {
+        $hydrator = new typeModulateurStructureHydrator();
+        /**
+         * @var $typesModu \Application\Entity\Db\typeModulateurStructure[]
+         */
+        $this->setHydrator($hydrator);
+
+        $this->setAttribute('action', $this->getCurrentUrl());
+        $this->add([
+                'name' => 'type-modulateur',
+                'type' => 'Hidden',
+            ]
+        );
+
+           $this->add([
+               'name'       => 'structure',
+               'options'    => [
+                   'label' => 'Structure',
+               ],
+               'attributes' => [
+                   'class'            => 'selectpicker',
+                   'data-live-search' => 'true',
+               ],
+               'type'       => 'Select',
+           ]);
+
+        $this->add([
+            'type'       => 'Select',
+            'name'       => 'annee-debut',
+            'options'    => [
+                'empty_option'  => 'Aucune',
+                'value_options' => Util::collectionAsOptions($this->getServiceAnnee()->getChoixAnnees()),
+                'label'         => 'année de début',
+            ],
+            'attributes' => [
+                'class'            => 'selectpicker',
+                'data-live-search' => 'true',
+            ],
+        ]);
+        $this->add([
+            'type'       => 'Select',
+            'name'       => 'annee-fin',
+            'options'    => [
+                'empty_option'  => 'Aucune',
+                'value_options' => Util::collectionAsOptions($this->getServiceAnnee()->getChoixAnnees()),
+                'label'         => 'année de fin',
+            ],
+            'attributes' => [
+                'class'            => 'selectpicker',
+                'data-live-search' => 'true',
+            ],
+        ]);
+
+
+        $this->add(new Csrf('security'));
+        $this->add([
+            'name'       => 'submit',
+            'type'       => 'Submit',
+            'attributes' => [
+                'value' => "Enregistrer",
+                'class' => 'btn btn-primary',
+            ],
+        ]);
+
+        $role             = $this->getServiceContext()->getSelectedIdentityRole();
+        $serviceStructure = $this->getServiceStructure();
+        $qb               = $serviceStructure->finderByEnseignement();
+        if ($role->getStructure()) {
+            $serviceStructure->finderById($role->getStructure()->getId(), $qb); // Filtre
+        }
+        $this->get('structure')
+            ->setValueOptions(\UnicaenApp\Util::collectionAsOptions($serviceStructure->getList($qb)));
+
+        return $this;
+    }
+
+
+
+    /**
+     * Should return an array specification compatible with
+     * {@link Zend\InputFilter\Factory::createInputFilter()}.
+     *
+     * @return array
+     */
+    public function getInputFilterSpecification()
+    {
+        return [
+            'annee-debut' => [
+                'required' => false,
+            ],
+            'annee-fin'   => [
+                'required' => false,
+            ],
+        ];
+    }
+
+}
+
+
+
+
+
+class typeModulateurStructureHydrator implements HydratorInterface
+{
+    use TypeModulateurStructureServiceAwareTrait;
+    use StructureServiceAwareTrait;
+    use AnneeServiceAwareTrait;
+    use TypeModulateurServiceAwareTrait;
+
+
+    /**
+     * Hydrate $object with the provided $data.
+     *
+     * @param  array                                 $data
+     * @param  \Application\Entity\Db\typeModulateurStructure $object
+     *
+     * @return object
+     */
+    public function hydrate(array $data, $object)
+    {
+        $object->setTypeModulateur($this->getServiceTypeModulateur()->getById($data['type-modulateur']));
+        if (array_key_exists('structure', $data)) {
+            $object->setStructure($this->getServiceStructure()->get($data['structure']));
+        }
+        if (array_key_exists('annee-debut', $data)) {
+            $object->setAnneeDebut($this->getServiceAnnee()->get($data['annee-debut']));
+        }
+        if (array_key_exists('annee-fin', $data)) {
+            $object->setAnneeFin($this->getServiceAnnee()->get($data['annee-fin']));
+        }
+
+        return $object;
+    }
+
+
+
+    /**
+     * Extract values from an object
+     *
+     * @param  \Application\Entity\Db\typeModulateurStructure $object
+     *
+     * @return array
+     */
+    public function extract($object)
+    {
+        $data = [
+            'id'                => $object->getId(),
+            'type-modulateur'   => $object->getTypeModulateur()->getId(),
+            'structure'         => ($s = $object->getStructure()) ? $s->getId() : null,
+            'annee-debut'       => $object->getAnneeDebut() ? $object->getAnneeDebut()->getId() : null,
+            'annee-fin'         => $object->getAnneeFin() ? $object->getAnneeFin()->getId() : null,
+        ];
+
+        return $data;
+    }
+}
\ No newline at end of file
diff --git a/module/Application/src/Application/Service/TypeModulateurService.php b/module/Application/src/Application/Service/TypeModulateurService.php
index a79370791108bec4c0d0cf7e1ca4f5bd797b9a7e..61032631da520b99fd0e56f47b39fa97cc56033c 100644
--- a/module/Application/src/Application/Service/TypeModulateurService.php
+++ b/module/Application/src/Application/Service/TypeModulateurService.php
@@ -5,6 +5,7 @@ namespace Application\Service;
 use Application\Entity\Db\TypeModulateur;
 use Application\Entity\Db\Structure;
 use Application\Entity\Db\ElementPedagogique;
+use Application\Entity\Db\TypeModulateurStructure;
 use Doctrine\ORM\QueryBuilder;
 
 
@@ -89,6 +90,25 @@ class TypeModulateurService extends AbstractEntityService
         }
     }
 
+    /**
+     * Retourne une entité à partir de son code
+     * Retourne null si le code est null
+     *
+     * @param string|string[] $code
+     * @return mixed|null
+     */
+    public function getById($id)
+    {
+        if(is_array($id)){
+            list($qb,$alias) = $this->initQuery();
+            $qb->andWhere($alias.'.id IN (:'.$alias.'_id)')->setParameter($alias.'_id', $id);
+            return $this->getList( $qb );
+        }elseif ($id){
+            return $this->getRepo()->findOneBy(['id' => $id]);
+        }else{
+            return null;
+        }
+    }
     /**
      * Ne récupère que les types de modulateurs associés à un élément pédagogique donné
      *
@@ -143,4 +163,5 @@ class TypeModulateurService extends AbstractEntityService
         }
         return $this->all;
     }
+
 }
\ No newline at end of file
diff --git a/module/Application/view/application/modulateur/index.phtml b/module/Application/view/application/modulateur/index.phtml
index 3e475f6529303d86a7a47029355a68319aa3d094..40a921fd53d0cb1184b54b6551c40db94886de97 100644
--- a/module/Application/view/application/modulateur/index.phtml
+++ b/module/Application/view/application/modulateur/index.phtml
@@ -1,12 +1,12 @@
 <?php
 /**
- * @var $this            \Application\View\Renderer\PhpRenderer
- * @var $modulateurs     \Application\Entity\Db\modulateur[]
- * @var $typeModulateurs \Application\Entity\Db\typeModulateur[]
+ * @var $this                     \Application\View\Renderer\PhpRenderer
+ * @var $modulateurs              \Application\Entity\Db\modulateur[]
+ * @var $typeModulateurs          \Application\Entity\Db\typeModulateur[]
+ * @var $typeModulateurStructures \Application\Entity\Db\typeModulateurStructure[]
  */
 
 use Application\Provider\Privilege\Privileges;
-use Application\Entity\Db\TypeModulateur;
 use UnicaenApp\Util;
 
 function affBooleen($flg)
@@ -23,12 +23,12 @@ $canEdit = $this->isAllowed(Privileges::getResourceId(Privileges::MODULATEUR_EDI
 <h1 class="page-header">Modulateurs des taux horaires</h1>
 <?php
 foreach ($typeModulateurs as $tm) {
-    if ($this->isAllowed($tm,Privileges::MODULATEUR_VISUALISATION)) { ?>
+    if ($this->isAllowed($tm, Privileges::MODULATEUR_VISUALISATION)) { ?>
         <div class="panel panel-default">
             <div class="panel-heading">
                 <div class="panel-title"><?= $tm->getCode() ?>
                     <span style="position:absolute; left: 300px"><?= $tm->getLibelle() ?></span>
-                <span style="position:absolute; right: 50px;">
+                    <span style="position:absolute; right: 50px;">
 
         <?php if ($canEdit): ?>
             <a class="ajax-modal" data-event="modulateur-saisie"
@@ -37,9 +37,9 @@ foreach ($typeModulateurs as $tm) {
                 <span class="glyphicon glyphicon-plus"></span>
             </a>
         <?php endif ?>
-                    <a class="ajax-modal" data-event="modulateur-saisie"
-                       href="<?= $this->url('modulateur/type-modulateur-saisie', ['typeModulateur' => $tm->getId()]) ?>"
-                       title="Modifier le type de modulateur">
+                        <a class="ajax-modal" data-event="modulateur-saisie"
+                           href="<?= $this->url('modulateur/type-modulateur-saisie', ['typeModulateur' => $tm->getId()]) ?>"
+                           title="Modifier le type de modulateur">
                         <span class="glyphicon glyphicon-edit"></span></a>
         <a class="pop-ajax"
            href="<?= $this->url('modulateur/type-modulateur-delete', ['typeModulateur' => $tm->getId()]) ?>"
@@ -70,6 +70,48 @@ foreach ($typeModulateurs as $tm) {
                             <div class="col-md-9">Saisie par ens:</div>
                             <div class="col-md-3"><?= affBooleen($tm->getSaisieParEnseignant()) ?></div>
                         </div>
+                        <table class="table table-bordered">
+                        <?php foreach ($typeModulateurStructures
+                                       as $tms) { ?>
+                            <?php if ($tm->getId() == $tms->getTypeModulateur()->getId()) { ?>
+                                <tr>
+                                    <td>
+                                        <?php if (($tms->getAnneeDebut()) || ($tms->getAnneeFin())) {
+                                            if (!$tms->getAnneeDebut()) {
+                                                $infoBulle = ' à ' . $tms->getAnneeFin();
+                                            } else {
+                                                if (!$tms->getAnneeFin()) {
+                                                    $infoBulle = ' de ' . $tms->getAnneeDebut();
+                                                } else $infoBulle = ' de ' . $tms->getAnneeDebut() . ' à ' . $tms->getAnneeFin();
+                                            }
+                                        } else $infoBulle = ''; ?>
+                                        <?php echo ($infoBulle ? '<abbr title="' . $infoBulle . '">' : '') . $tms->getStructure()->getLibelleCourt();
+                                        echo($infoBulle ? '</abbr>' : '');
+                                        if ($canEdit) { ?>
+                                            <a style="position:absolute; right: 20px;" pop-ajax"
+                                               href="<?= $this->url('modulateur/type-modulateur-structure-delete', ['typeModulateurStructure' => $tms->getId()]) ?>"
+                                               title="Supprimer le type de modulateur pour la structure"
+                                               data-content="<p class='lead text-danger'><strong>Attention!</strong> Confirmez-vous cette suppression ?</p>"
+                                               data-confirm="true"
+                                               data-confirm-button="Oui"
+                                               data-cancel-button="Non"
+                                               data-submit-reload="true"
+                                            >
+                                                <span class="glyphicon glyphicon-remove text-danger"></span>
+                                            </a>
+                                        <?php } ?>
+                                    </td>
+                                </tr>
+                            <?php }
+                        } ?>
+                        </table>
+                        <?php if ($canEdit) { ?>
+                            <a class="ajax-modal" data-event="modulateur-saisie"
+                                       href="<?= $this->url('modulateur/type-modulateur-structure-saisie', ['typeModulateur' => $tm->getId()]) ?>"
+                                       title="Ajouter un type de modulateur pour une structure">
+                                        <button type="button" class="btn-xs btn-primary">Ajouter</button>
+                                    </a>
+                        <?php } ?>
                     </div>
                     <div class="col-md-9">
                         <table class="table table-bordered">
@@ -123,12 +165,12 @@ foreach ($typeModulateurs as $tm) {
         <?php
     }
 } ?>
-    <?php if (($canEdit) && (!$structure)) : ?>
-<a class="btn btn-primary ajax-modal" data-event="modulateur-saisie"
-   href="<?= $this->url('modulateur/type-modulateur-saisie', []) ?>"
-   title="Ajouter un type de modulateur">
-    <span class="glyphicon glyphicon-edit"></span>
-    Ajouter un type de modulateur</a>
+<?php if (($canEdit) && (!$structure)) : ?>
+    <a class="btn btn-primary ajax-modal" data-event="modulateur-saisie"
+       href="<?= $this->url('modulateur/type-modulateur-saisie', []) ?>"
+       title="Ajouter un type de modulateur">
+        <span class="glyphicon glyphicon-edit"></span>
+        Ajouter un type de modulateur</a>
     <script type="text/javascript">
         $(function () {
             $("body").on("modulateur-saisie", function (event, data) {
diff --git a/module/Application/view/application/modulateur/type-modulateur-structure-saisie.phtml b/module/Application/view/application/modulateur/type-modulateur-structure-saisie.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7369e29103ea343991639a1a8dfffe3d9d7c769c
--- /dev/null
+++ b/module/Application/view/application/modulateur/type-modulateur-structure-saisie.phtml
@@ -0,0 +1,8 @@
+<?php
+/**
+ * @var $this  \Application\View\Renderer\PhpRenderer
+ * @var $form  \Application\Form\Modulateur\ModulateurSaisieForm
+ */
+
+echo $this->messenger()->addCurrentMessagesFromFlashMessenger();
+echo $this->form($form);