diff --git a/src/Octopus/Entity/Db/Source.php b/src/Octopus/Entity/Db/Source.php
index c48bed548c055b0aedde9cf0a5e41d442f6ccc89..ac608994a415ac95ffa4f0e1ff825e95d27258ae 100644
--- a/src/Octopus/Entity/Db/Source.php
+++ b/src/Octopus/Entity/Db/Source.php
@@ -3,6 +3,14 @@
 namespace Octopus\Entity\Db;
 
 class Source {
+
+    const SOURCE_APOGEE = "APO";
+    const SOURCE_HARPEGE = "HARP";
+    const SOURCE_FCA = "FCA";
+    const SOURCE_OCTO = "OCTO";
+    const SOURCE_INV = "INV";
+
+
     /** @var string */
     private $cSource;
     /** @var string */
diff --git a/src/Octopus/Service/Individu/IndividuService.php b/src/Octopus/Service/Individu/IndividuService.php
index ea9443e9a6d1024e0a9881592accf2b7c68fe3e2..13f84a034fe6f967aaf3aac201ae7be3a213e761 100644
--- a/src/Octopus/Service/Individu/IndividuService.php
+++ b/src/Octopus/Service/Individu/IndividuService.php
@@ -48,16 +48,23 @@ class IndividuService {
 
     /**
      * @param string $term
+     * @param string $sourceCode
      * @return Individu[]
      */
-    public function getIndividusByTerm($term)
+    public function getIndividusByTerm($term, $sourceCode = null)
     {
         $qb = $this->getEntityManager()->getRepository(Individu::class)->createQueryBuilder('individu')
+            ->addSelect('source')->join('individu.source', 'source')
             ->andWhere('individu.nomUsage LIKE :search')
             ->setParameter('search', '%'.$term.'%')
             ->orderBy('individu.nomUsage, individu.prenom')
         ;
 
+        if ($sourceCode) {
+            $qb = $qb->andWhere('source.cSource = :sourceCode')
+                ->setParameter('sourceCode', $sourceCode);
+        }
+
         $result = $qb->getQuery()->getResult();
         return $result;
     }