diff --git a/src/Octopus/Entity/Db/Mapping/Octopus.Entity.Db.Individu.dcm.xml b/src/Octopus/Entity/Db/Mapping/Octopus.Entity.Db.Individu.dcm.xml
index 552745904ae824578e1ed50552cebd48fb2e1061..ca001cd0961cc0d33de568907e14e1c650e2a85d 100644
--- a/src/Octopus/Entity/Db/Mapping/Octopus.Entity.Db.Individu.dcm.xml
+++ b/src/Octopus/Entity/Db/Mapping/Octopus.Entity.Db.Individu.dcm.xml
@@ -24,6 +24,9 @@
         <field name="cCommuneNaissance"    type="string"   length="5"        column="C_COMMUNE_NAISSANCE"      nullable="false"/>
         <field name="cDeptNaissance"       type="string"   length="3"        column="C_DEPT_NAISSANCE"         nullable="false"/>
         <field name="cPaysNaissance"       type="string"   length="3"        column="C_PAYS_NAISSANCE"         nullable="false"/>
+        <!--<many-to-one target-entity="Octopus\Entity\Db\Pays" field="cPaysNaissance">-->
+            <!--<join-column name="C_PAYS_NAISSANCE" referenced-column-name="CODE_PAYS" />-->
+        <!--</many-to-one>-->
         <field name="cPaysNationalite"     type="string"   length="3"        column="C_PAYS_NATIONALITE"       nullable="false"/>
         <field name="telPersonnelle"       type="string"   length="20"       column="TEL_PERSO"                nullable="false"/>
         <field name="emailPersonnelle"     type="string"   length="255"      column="EMAIL_PERSO"              nullable="false"/>
diff --git a/src/Octopus/Service/Individu/IndividuService.php b/src/Octopus/Service/Individu/IndividuService.php
index 13f84a034fe6f967aaf3aac201ae7be3a213e761..077d64768ef97221f4f6a80d40bdad3ae6e530a5 100644
--- a/src/Octopus/Service/Individu/IndividuService.php
+++ b/src/Octopus/Service/Individu/IndividuService.php
@@ -4,6 +4,7 @@ namespace Octopus\Service\Individu;
 
 use Doctrine\ORM\NonUniqueResultException;
 use Octopus\Entity\Db\Individu;
+use Octopus\Entity\Db\Source;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 
@@ -54,7 +55,7 @@ class IndividuService {
     public function getIndividusByTerm($term, $sourceCode = null)
     {
         $qb = $this->getEntityManager()->getRepository(Individu::class)->createQueryBuilder('individu')
-            ->addSelect('source')->join('individu.source', 'source')
+            ->addSelect('source')->join('individu.cSource', 'source')
             ->andWhere('individu.nomUsage LIKE :search')
             ->setParameter('search', '%'.$term.'%')
             ->orderBy('individu.nomUsage, individu.prenom')
@@ -68,4 +69,26 @@ class IndividuService {
         $result = $qb->getQuery()->getResult();
         return $result;
     }
+
+    /**
+     * @param integer $numeroEtudiant
+     * @return Individu
+     */
+    public function getEtudiantByNumero($numeroEtudiant)
+    {
+        $qb = $this->getEntityManager()->getRepository(Individu::class)->createQueryBuilder('individu')
+            ->addSelect('source')->join('individu.cSource', 'source')
+            ->andWhere('individu.cEtu = :numero')
+            ->andWhere('source.cSource = :sourceCode')
+            ->setParameter('numero', $numeroEtudiant)
+            ->setParameter('sourceCode', Source::SOURCE_APOGEE)
+            ;
+
+        try {
+            $result = $qb->getQuery()->getOneOrNullResult();
+        } catch (NonUniqueResultException $e) {
+            throw new RuntimeException("Plusieurs étudiants partagent le même numéro étudiant [".$numeroEtudiant."].",$e);
+        }
+        return $result;
+    }
 }
\ No newline at end of file