diff --git "a/data/Sql/__pense b\303\252te.sql" "b/data/Sql/__pense b\303\252te.sql"
index 93420be4ed1416c17d1cb75212ce7d57824f4141..e409f1b77b55bb5248a51bd32062a13e5a109aa9 100644
--- "a/data/Sql/__pense b\303\252te.sql"	
+++ "b/data/Sql/__pense b\303\252te.sql"	
@@ -1 +1,31 @@
-select q'[o'connor]' from dual;
\ No newline at end of file
+select q'[o'connor]' from dual;
+
+
+
+select 
+annee_id, annee_debut_id, annee_fin_id, res res_attendu,
+case when
+
+
+annee_id BETWEEN GREATEST(NVL(annee_debut_id,0),annee_id) AND LEAST(NVL(annee_fin_id,9999),annee_id)
+
+
+then 1 else 0 end res_calcule from (
+
+          SELECT 2014 annee_id, null annee_debut_id, null annee_fin_id, 1 res FROM dual
+
+UNION ALL SELECT 2014 annee_id, 2014 annee_debut_id, 2014 annee_fin_id, 1 res FROM dual
+UNION ALL SELECT 2014 annee_id, null annee_debut_id, 2014 annee_fin_id, 1 res FROM dual
+UNION ALL SELECT 2014 annee_id, 2014 annee_debut_id, null annee_fin_id, 1 res FROM dual
+
+UNION ALL SELECT 2014 annee_id, 2012 annee_debut_id, 2015 annee_fin_id, 1 res FROM dual
+UNION ALL SELECT 2014 annee_id, null annee_debut_id, 2015 annee_fin_id, 1 res FROM dual
+UNION ALL SELECT 2014 annee_id, 2012 annee_debut_id, null annee_fin_id, 1 res FROM dual
+
+UNION ALL SELECT 2014 annee_id, 2015 annee_debut_id, 2017 annee_fin_id, 0 res FROM dual
+UNION ALL SELECT 2014 annee_id, 2015 annee_debut_id, null annee_fin_id, 0 res FROM dual
+
+UNION ALL SELECT 2014 annee_id, 2011 annee_debut_id, 2013 annee_fin_id, 0 res FROM dual
+UNION ALL SELECT 2014 annee_id, null annee_debut_id, 2013 annee_fin_id, 0 res FROM dual
+          
+) t1;
\ No newline at end of file
diff --git a/data/Sql/intervenant changement statut.sql b/data/Sql/intervenant changement statut.sql
index 284ce981005d4d0e8ee727c826f4e1513d5aa97d..3d7db4d0bcb24ec15cdcbec97c83e169be4af552 100644
--- a/data/Sql/intervenant changement statut.sql	
+++ b/data/Sql/intervenant changement statut.sql	
@@ -1,6 +1,8 @@
 select * from intervenant where id = 3679;
+select * from intervenant where source_code = '34424' AND annee_id = 2014;
 
-update intervenant set statut_id = 4, type_id=1 WHERE id = 3112;
+
+update intervenant set statut_id = 4, type_id=1 WHERE id = 3681;
 
 select * from statut_intervenant;
 select * from type_intervenant;
\ No newline at end of file
diff --git a/module/Application/src/Application/Entity/Db/Intervenant.php b/module/Application/src/Application/Entity/Db/Intervenant.php
index b16fb0fb8f9ce4ef3159fa7b2e169ac8a3c18fde..c37a0be18b5fd94a717040d82a05e7556ba91071 100644
--- a/module/Application/src/Application/Entity/Db/Intervenant.php
+++ b/module/Application/src/Application/Entity/Db/Intervenant.php
@@ -1141,7 +1141,7 @@ class Intervenant implements IntervenantInterface, HistoriqueAwareInterface, Res
      * @param \Application\Entity\Db\TypeIntervenant $type
      *
      * @return Intervenant
-     */
+     *
     public function setType(\Application\Entity\Db\TypeIntervenant $type = null)
     {
         $this->type = $type;
@@ -1155,11 +1155,11 @@ class Intervenant implements IntervenantInterface, HistoriqueAwareInterface, Res
      * Get type
      *
      * @return \Application\Entity\Db\TypeIntervenant
-     */
+     *
     public function getType()
     {
         return $this->type;
-    }
+    }*/
 
 
 
diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Intervenant.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Intervenant.dcm.xml
index 6f0fac93e459fe7557473b73fcea000e08945e12..c96f32150d2919d26aeb97a4e0cf8ab3dbb37e39 100644
--- a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Intervenant.dcm.xml
+++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.Intervenant.dcm.xml
@@ -96,11 +96,11 @@
                 <join-column name="HISTO_CREATEUR_ID" referenced-column-name="ID"/>
             </join-columns>
         </many-to-one>
-        <many-to-one field="type" target-entity="Application\Entity\Db\TypeIntervenant">
+        <!--<many-to-one field="type" target-entity="Application\Entity\Db\TypeIntervenant">
             <join-columns>
                 <join-column name="TYPE_ID" referenced-column-name="ID"/>
             </join-columns>
-        </many-to-one>
+        </many-to-one>-->
         <many-to-one field="dossier" target-entity="Application\Entity\Db\Dossier">
             <join-columns>
                 <join-column name="DOSSIER_ID" referenced-column-name="ID"/>
diff --git a/module/Application/src/Application/Service/Intervenant.php b/module/Application/src/Application/Service/Intervenant.php
index c2b3d830e3acd077c887e7a08fab8c2663338cca..4e3796905cace32826550d13f8dbe60cae90da4e 100644
--- a/module/Application/src/Application/Service/Intervenant.php
+++ b/module/Application/src/Application/Service/Intervenant.php
@@ -6,6 +6,8 @@ use Application\Entity\Db\Intervenant as IntervenantEntity;
 use Application\Entity\Db\Structure as StructureEntity;
 use Application\Entity\Db\Periode as PeriodeEntity;
 use Application\Entity\Db\Annee as AnneeEntity;
+use Application\Entity\Db\TypeIntervenant;
+use Application\Service\Traits\StatutIntervenantAwareTrait;
 use Common\Exception\RuntimeException;
 use Doctrine\ORM\QueryBuilder;
 use Import\Processus\Import;
@@ -17,6 +19,10 @@ use Import\Processus\Import;
  */
 class Intervenant extends AbstractEntityService
 {
+    use StatutIntervenantAwareTrait;
+
+
+
     /**
      * Recherche par :
      * - id source exact (numéro Harpege ou autre),
@@ -72,7 +78,7 @@ class Intervenant extends AbstractEntityService
      */
     public function getEntityClass()
     {
-        return 'Application\Entity\Db\Intervenant';
+        return IntervenantEntity::class;
     }
 
 
@@ -252,14 +258,16 @@ class Intervenant extends AbstractEntityService
     /**
      * Recherche d'intervenant par le "source code" et l'année.
      *
-     * @param string      $sourceCode Code de l'intervenant dans la source de données (ex: numéro Harpege)
-     * @param AnneeEntity $annee      Année concernée
+     * @param string            $sourceCode Code de l'intervenant dans la source de données (ex: numéro Harpege)
+     * @param AnneeEntity       $annee      Année concernée
+     * @param QueryBuilder|null $queryBuilder
+     * @param string|null       $alias
      *
      * @return QueryBuilder
      */
-    public function finderBySourceCodeAndAnnee($sourceCode, AnneeEntity $annee, QueryBuilder $qb = null)
+    public function finderBySourceCodeAndAnnee($sourceCode, AnneeEntity $annee, QueryBuilder $qb = null, $alias = null)
     {
-        list($qb, $alias) = $this->initQuery($qb);
+        list($qb, $alias) = $this->initQuery($qb, $alias);
         $qb
             ->andWhere("$alias.sourceCode = :code AND $alias.annee = :annee")
             ->setParameter('code', $sourceCode)
@@ -267,4 +275,26 @@ class Intervenant extends AbstractEntityService
 
         return $qb;
     }
+
+
+
+    /**
+     * Filtre par le type d'intervenant
+     *
+     * @param TypeIntervenant   $typeIntervenant Type de l'intervenant
+     * @param QueryBuilder|null $queryBuilder
+     * @param string|null       $alias
+     *
+     * @return QueryBuilder
+     */
+    public function finderByType(TypeIntervenant $typeIntervenant, QueryBuilder $qb = null, $alias = null)
+    {
+        list($qb, $alias) = $this->initQuery($qb, $alias);
+        $sStatut = $this->getServiceStatutIntervenant();
+
+        $this->join($sStatut, $qb, 'statut', false, $alias);
+        $sStatut->finderByTypeIntervenant($typeIntervenant, $qb);
+
+        return $qb;
+    }
 }
diff --git a/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php b/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php
index 370d2a31667c4f8e712e05c81d82ed3c63b56ff8..fd3d8721f1ccc3c3c5d67f1999668877f0fc5399 100644
--- a/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php
+++ b/module/Application/src/Application/View/Helper/Intervenant/IntervenantViewHelper.php
@@ -70,7 +70,7 @@ class IntervenantViewHelper extends AbstractHtmlElement
                 "Adresse"          => nl2br($entity->getAdressePrincipale()),
             ],
             'metier'      => [
-                "Type d'intervenant"                => $entity->getType(),
+                "Type d'intervenant"                => $entity->getStatut()->getTypeIntervenant(),
                 "Statut de l'intervenant"           => $entity->getStatut(),
                 "N° {$entity->getSource()}"         => $entity->getSourceCode(),
                 "Affectation principale"            => $entity->getStructure() ?: "(Inconnue)",
diff --git a/module/Application/view/application/intervenant/apercevoir.phtml b/module/Application/view/application/intervenant/apercevoir.phtml
index c3afa24f913e2fb87e59f400f5f4a1bc84d60574..aaedbfafa48184ddd90677eb3fc331d5f14847a8 100644
--- a/module/Application/view/application/intervenant/apercevoir.phtml
+++ b/module/Application/view/application/intervenant/apercevoir.phtml
@@ -1,3 +1,3 @@
-<h3><?php echo $intervenant ?> <small><?php echo $intervenant->getType() ?></small></h3>
+<h3><?php echo $intervenant ?> <small><?php echo $intervenant->getStatut()->getTypeIntervenant() ?></small></h3>
 
 <?php echo $this->intervenant($intervenant) ?>
diff --git a/module/Application/view/application/intervenant/voir-heures-comp.phtml b/module/Application/view/application/intervenant/voir-heures-comp.phtml
index adb3affdd4d8900ea8dde444dcdae94dd4b5b145..e48f0166e74f3b4740f68bf4520dc65e842cfc2c 100644
--- a/module/Application/view/application/intervenant/voir-heures-comp.phtml
+++ b/module/Application/view/application/intervenant/voir-heures-comp.phtml
@@ -24,7 +24,7 @@ $this->headTitle()->append($intervenant->getNomUsuel())->append("Heures compl.")
 <style>
     th { background-color: #eee }
 </style>
-<h1 class="page-header"><?php echo $intervenant ?> <small><?php echo $intervenant->getType() ?></small></h1>
+<h1 class="page-header"><?php echo $intervenant ?> <small><?php echo $intervenant->getStatut()->getTypeIntervenant() ?></small></h1>
 <?php echo $this->form()->openTag($form->prepare()); ?>
 <div class="row">
     <div class="col-sm-4"><?php echo $this->formControlGroup($form->get('type-volume-horaire')); ?></div>
diff --git a/module/Application/view/application/intervenant/voir.phtml b/module/Application/view/application/intervenant/voir.phtml
index 8eec90f67f448d565c6791c38f87d4a92132d8bd..192fc826b191594ef55947ffe906b383d30b6fd3 100644
--- a/module/Application/view/application/intervenant/voir.phtml
+++ b/module/Application/view/application/intervenant/voir.phtml
@@ -1,6 +1,6 @@
 <?php $this->headTitle()->append($intervenant->getNomUsuel())->append("Fiche") ?>
 
-<h1 class="page-header"><?php echo $intervenant ?> <small><?php echo $intervenant->getType() ?></small></h1>
+<h1 class="page-header"><?php echo $intervenant ?> <small><?php echo $intervenant->getStatut()->getTypeIntervenant() ?></small></h1>
 
 <?php echo $this->intervenant($intervenant) ?>