diff --git a/VERSIONS_HOTLINE/25855 b/VERSIONS_HOTLINE/25855
new file mode 100644
index 0000000000000000000000000000000000000000..84119eb48015c824e46454c7c0f522ccb404f2ba
--- /dev/null
+++ b/VERSIONS_HOTLINE/25855
@@ -0,0 +1 @@
+ - ticket #25855 : Les résultats issus d'une navigation dans les domaines sont triés par défaut par année de publication au lieu de pertinence
\ No newline at end of file
diff --git a/library/Class/CriteresRecherche.php b/library/Class/CriteresRecherche.php
index ba6919e1e5ac7943677316c55ee23c223105f1f7..77540faafd017eebb55ed7f54952e59ee2cfb3f0 100644
--- a/library/Class/CriteresRecherche.php
+++ b/library/Class/CriteresRecherche.php
@@ -22,6 +22,14 @@
 class Class_CriteresRecherche {
 	use Trait_Translator;
 
+	const SORT_RELEVANCE = '*';
+	const SORT_TITLE = 'alpha_titre';
+	const SORT_AUTHOR = 'alpha_auteur';
+	const SORT_PUBLICATION = 'annee desc';
+	const SORT_DOCTYPE = 'type_doc,alpha_titre';
+	const SORT_NOVELTY = 'date_creation desc';
+	const SORT_VIEWS = 'nb_visu desc';
+
 	protected
 		$_params = [],
 		$_validate_facette,
@@ -104,13 +112,13 @@ class Class_CriteresRecherche {
 
 	public function getListeTris() {
 		if (!isset($this->_liste_tris))
-			$this->_liste_tris =  ['*' => $this->_('Pertinence'),
-														 'alpha_titre' => $this->_('Titre'),
-														 'alpha_auteur' => $this->_('Auteur'),
-														 'annee desc' => $this->_('Année de publication'),
-														 'type_doc,alpha_titre' => $this->_('Type de document'),
-														 'date_creation desc' => $this->_('Date de nouveauté'),
-														 'nb_visu desc' => $this->_('Consultation')];
+			$this->_liste_tris =  [self::SORT_RELEVANCE => $this->_('Pertinence'),
+														 self::SORT_TITLE => $this->_('Titre'),
+														 self::SORT_AUTHOR => $this->_('Auteur'),
+														 self::SORT_PUBLICATION => $this->_('Année de publication'),
+														 self::SORT_DOCTYPE => $this->_('Type de document'),
+														 self::SORT_NOVELTY => $this->_('Date de nouveauté'),
+														 self::SORT_VIEWS => $this->_('Consultation')];
 		return $this->_liste_tris;
 	}
 
@@ -259,6 +267,9 @@ class Class_CriteresRecherche {
 
 	public function getTri() {
 		$tri = $this->getParam('tri', 0);
+		if (0 == $tri && $this->isRechercheCatalogue())
+			return self::SORT_PUBLICATION;
+
 		return isset($this->getListeTris()[$tri]) ? $tri : '*';
 	}
 
@@ -581,7 +592,7 @@ class Class_CriteresRecherche {
 	public function getNewUrlCriteresSerie($serie) {
 		$url = $this->getUrlCriteresWithoutFacettes();
 		$url['serie'] = $serie;
-		$url['tri']='date_creation desc';
+		$url['tri'] = self::SORT_NOVELTY;
 		return $url;
 
 	}
diff --git a/tests/library/Class/CriteresRechercheTest.php b/tests/library/Class/CriteresRechercheTest.php
index d539b1b8bc2f0e4f6dc422d9d6a2f91315bbe278..40470b80dd01b3f62a997c7704c6d8d00ccc816f 100644
--- a/tests/library/Class/CriteresRechercheTest.php
+++ b/tests/library/Class/CriteresRechercheTest.php
@@ -19,7 +19,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
-class CriteresRechercheRetourTest extends AbstractControllerTestCase {
+
+class CriteresRechercheRetourTest extends ModelTestCase {
 	public function setUp() {
 		parent::setUp();
 		$this->criteres_recherche= new Class_CriteresRecherche();
@@ -27,103 +28,129 @@ class CriteresRechercheRetourTest extends AbstractControllerTestCase {
 
 
 	public function expectedUrls() {
-		return 		[
+		return [
 
-			[ ['clef' => 'POTTER'], ['controller' => 'recherche',
-															 'action' => 'simple'] ],
+			[['clef' => 'POTTER'],
 
-			[['expressionRecherche' => 'millenium'], ['controller' => 'recherche',
-																						 'action' => 'simple',
-																						 'expressionRecherche' => 'millenium']],
+			 ['controller' => 'recherche',
+				'action' => 'simple'] ],
+
+			[['expressionRecherche' => 'millenium'],
 
-			[['facette' => 'A2'], ['controller' => 'recherche',
-														 'action' => 'simple',
-														 'facettes' => 'A2']],
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'expressionRecherche' => 'millenium']],
+
+			[['facette' => 'A2'],
+
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'facettes' => 'A2']],
 
 			[['expressionRecherche' => 'millenium reine',
-				'page' => 2],                                 ['controller' => 'recherche',
-																											 'action' => 'simple',
-																											 'expressionRecherche' => 'millenium reine',
-																											 'page' => 2]],
+				'page' => 2],
+
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'expressionRecherche' => 'millenium reine',
+				'page' => 2]],
 
 			[['expressionRecherche' => 'La nouvelle grille',
 				'facettes' => 'B1',
-				'facette' => 'T1'], ['controller' => 'recherche',
-														 'action' => 'simple',
-														 'expressionRecherche' => 'La nouvelle grille',
-														 'facettes' => 'B1-T1'
-														 ]],
+				'facette' => 'T1'],
+
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'expressionRecherche' => 'La nouvelle grille',
+				'facettes' => 'B1-T1']],
 
 			[['expressionRecherche' => 'La nouvelle grille',
 				'facettes' => 'B1-zork',
-				'facette' => '1345'], ['controller' => 'recherche',
-															 'action' => 'simple',
-															 'expressionRecherche' => 'La nouvelle grille',
-															 'facettes' => 'B1'
-					                     ]],
+				'facette' => '1345'],
 
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'expressionRecherche' => 'La nouvelle grille',
+				'facettes' => 'B1']],
 
 			[['expressionRecherche' => '',
 				'facettes' => 'V1',
-				'facette' => 'U1'], ['controller' => 'recherche',
-														 'action' => 'simple',
-														 'expressionRecherche' => '*',
-														 'facettes' => 'V1-U1'
-														 ]],
+				'facette' => 'U1'],
+
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'expressionRecherche' => '*',
+				'facettes' => 'V1-U1']],
 
 			[['rech_titres' => 'metropolitan',
 				'rech_auteurs' =>'',
-				'facettes' => 'T1-YMET'], 			 ['controller' => 'recherche',
-																					'action' => 'simple',
-																					'rech_titres' => 'metropolitan',
-																					'facettes' => 'T1-YMET']],
+				'facettes' => 'T1-YMET'],
 
-							 [['rech_titres' => 'bonheur',
-								 'rech_auteurs' =>'',
-								 'facettes' => 'T1-YMET',
-								 'liste_format' => 1], 			 ['controller' => 'recherche',
-																							'action' => 'simple',
-																							'rech_titres' => 'bonheur',
-																							'facettes' => 'T1-YMET',
-																							'liste_format' => 1]],
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'rech_titres' => 'metropolitan',
+				'facettes' => 'T1-YMET']],
+
+			[['rech_titres' => 'bonheur',
+				'rech_auteurs' =>'',
+				'facettes' => 'T1-YMET',
+				'liste_format' => 1],
 
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'rech_titres' => 'bonheur',
+				'facettes' => 'T1-YMET',
+				'liste_format' => 1]],
 
-			[['retour_panier' => '23'], ['controller' => 'panier',
-																	 'action' => 'index',
-																	 'id_panier' => '23']],
+			[['retour_panier' => '23'],
 
+			 ['controller' => 'panier',
+				'action' => 'index',
+				'id_panier' => '23']],
 
 			[['id_panier' => '23',
-				'code_rebond' => 'G123'], ['controller' => 'recherche',
-																	 'action' => 'simple',
-																	 'code_rebond' => 'G123',
-																	 'id_panier' => '23']],
+				'code_rebond' => 'G123'],
 
-			[['retour_abonne' => 'prets'], ['controller' => 'abonne',
-																			'action' => 'prets']],
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'code_rebond' => 'G123',
+				'id_panier' => '23']],
+
+			[['retour_abonne' => 'prets'],
+
+			 ['controller' => 'abonne',
+				'action' => 'prets']],
 
 
 			[['id_panier' => '23',
 				'retour_abonne' => 'prets',
 				'retour_avis' => 5,
-				'code_rebond' => 'G123'], ['controller' => 'recherche',
-																	 'action' => 'simple',
-																	 'code_rebond' => 'G123',
-																	 'id_panier' => '23',
-																	 'retour_abonne' => 'prets',
-																	 'retour_avis' => 5]],
-
-			[['retour_abonne' => 'reservations'], ['controller' => 'abonne',
-																						 'action' => 'reservations']],
-
-			[['retour_avis' => '4'], ['controller' => 'blog',
-																'action' => 'viewcritiques',
-																'id_module' => 4,
-																'retour_avis' => 4]],
-
-			[['genre' => '10;13' ], ['controller' => 'recherche',
-																'action' => 'simple',
-																'genre' => '10;13']]
+				'code_rebond' => 'G123'],
+
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'code_rebond' => 'G123',
+				'id_panier' => '23',
+				'retour_abonne' => 'prets',
+				'retour_avis' => 5]],
+
+			[['retour_abonne' => 'reservations'],
+
+			 ['controller' => 'abonne',
+				'action' => 'reservations']],
+
+			[['retour_avis' => '4'],
+
+			 ['controller' => 'blog',
+				'action' => 'viewcritiques',
+				'id_module' => 4,
+				'retour_avis' => 4]],
+
+			[['genre' => '10;13' ],
+
+			 ['controller' => 'recherche',
+				'action' => 'simple',
+				'genre' => '10;13']]
 		];
 	}
 
@@ -141,10 +168,9 @@ class CriteresRechercheRetourTest extends AbstractControllerTestCase {
 
 
 
-class CriteresRechercheRetourRechercheInitialeTest extends AbstractControllerTestCase {
+class CriteresRechercheRetourRechercheInitialeTest extends ModelTestCase {
 	public function expectedUrls() {
 		return 		[
-
 			[['expressionRecherche' => 'millenium',
 					'code_rebond' => 'A26'], ['controller' => 'recherche',
 																						 'action' => 'saisie',
@@ -176,7 +202,7 @@ class CriteresRechercheRetourRechercheInitialeTest extends AbstractControllerTes
 
 
 
-class CriteresRechercheNouvelleTest extends AbstractControllerTestCase {
+class CriteresRechercheNouvelleTest extends ModelTestCase {
 	public function setUp() {
 		parent::setUp();
 		$this->criteres_recherche= new Class_CriteresRecherche();
@@ -184,21 +210,18 @@ class CriteresRechercheNouvelleTest extends AbstractControllerTestCase {
 
 
 	public function expectedUrls() {
-		return 		[
-			[[ 'expressionRecherche' => 'millenium',
-		 'code_rebond' => 'A26'
-					], [ 'controller' => 'recherche',
-							 'action' => 'saisie'
-						]],
+		return [[['expressionRecherche' => 'millenium',
+							'code_rebond' => 'A26'],
 
+						 ['controller' => 'recherche',
+							'action' => 'saisie']],
 
-			[['rech_titres' => 'metropolitan',
-				'rech_auteurs' =>'',
-				'facettes' => 'T1-YMET'], 			 ['controller' => 'recherche',
-																					'action' => 'avancee'
-					]]
+						[['rech_titres' => 'metropolitan',
+							'rech_auteurs' =>'',
+							'facettes' => 'T1-YMET'],
 
-		];
+						 ['controller' => 'recherche',
+							'action' => 'avancee'	]]];
 	}
 
 
@@ -215,7 +238,7 @@ class CriteresRechercheNouvelleTest extends AbstractControllerTestCase {
 
 
 
-class CriteresRechercheUrlFacetteTest extends AbstractControllerTestCase {
+class CriteresRechercheUrlFacetteTest extends ModelTestCase {
 	public function setUp() {
 		parent::setUp();
 		$this->criteres_recherche= new Class_CriteresRecherche();
@@ -223,48 +246,46 @@ class CriteresRechercheUrlFacetteTest extends AbstractControllerTestCase {
 
 
 	public function expectedUrls() {
-		return 		[
-			[[ 'expressionRecherche' => '1q84',
-		 'code_rebond' => 'A26',
-		 'facette' => 'T3'
-					], [ 'controller' => 'recherche',
+		return [[['expressionRecherche' => '1q84',
+							'code_rebond' => 'A26',
+							'facette' => 'T3'],
+
+						 ['controller' => 'recherche',
 							 'action' => 'simple',
 							 'expressionRecherche' => '1q84',
 							 'code_rebond' => 'A26',
-							 'facettes' => 'T3'
-						]],
+							 'facettes' => 'T3']],
 
 
-			[['rech_titres' => 'metropolitan',
-				'rech_auteurs' =>'',
-				'facettes' => 'T1-YMET'], 			 ['controller' => 'recherche',
-																					'action' => 'simple',
-																					'rech_titres' => 'metropolitan',
-																					'facettes' => 'T1-YMET'
-					]],
+						[['rech_titres' => 'metropolitan',
+							'rech_auteurs' =>'',
+							'facettes' => 'T1-YMET'],
 
-			[['rech_titres' => 'metropolitan',
-				'rech_auteurs' =>'',
-				'operateur_editeur' => 'and',
-				'operateur_titres' => 'and',
+						 ['controller' => 'recherche',
+							'action' => 'simple',
+							'rech_titres' => 'metropolitan',
+							'facettes' => 'T1-YMET']],
 
-				'facettes' => 'T1-YMET'], 			 ['controller' => 'recherche',
-																					'action' => 'simple',
-																					'operateur_titres' => 'and',
-																					'rech_titres' => 'metropolitan',
-																					'facettes' => 'T1-YMET'
-					]],
-			[['id_catalogue' => '100',
-				'filtres' => 'B1;B2'], 			 [
-					'controller' => 'recherche',
-					'action' => 'simple',
-					'id_catalogue' =>'100',
 
-					]],
+						[['rech_titres' => 'metropolitan',
+							'rech_auteurs' =>'',
+							'operateur_editeur' => 'and',
+							'operateur_titres' => 'and',
+							'facettes' => 'T1-YMET'],
 
+						 ['controller' => 'recherche',
+							'action' => 'simple',
+							'operateur_titres' => 'and',
+							'rech_titres' => 'metropolitan',
+							'facettes' => 'T1-YMET']],
 
 
-		];
+						[['id_catalogue' => '100',
+							'filtres' => 'B1;B2'],
+
+						 ['controller' => 'recherche',
+							'action' => 'simple',
+							'id_catalogue' =>'100']]];
 	}
 
 
@@ -275,15 +296,13 @@ class CriteresRechercheUrlFacetteTest extends AbstractControllerTestCase {
 	public function urlRetourShouldBe($params, $url) {
 		$this->criteres_recherche->setParams($params);
 		$this->assertEquals($url,$this->criteres_recherche->getUrlCriteresWithFacettes());
-
 	}
-
 }
 
 
 
 
-class CriteresRechercheFilterParamsTest extends AbstractControllerTestCase {
+class CriteresRechercheFilterParamsTest extends ModelTestCase {
 	public function setUp() {
 		parent::setUp();
 		$this->criteres_recherche= new Class_CriteresRecherche();
@@ -291,50 +310,47 @@ class CriteresRechercheFilterParamsTest extends AbstractControllerTestCase {
 
 
 	public function expectedUrls() {
-		return 		[
-			[
-				[ 'expressionRecherche' => '1q84',
-					'code_rebond' => 'A26',
-					'facette' => 'T3'
-					], [ 'expressionRecherche' => '1q84',
-							 'code_rebond' => 'A26',
-							 'facette' => 'T3'
-						]],
+		return [[['expressionRecherche' => '1q84',
+							'code_rebond' => 'A26',
+							'facette' => 'T3'],
 
+						 ['expressionRecherche' => '1q84',
+							'code_rebond' => 'A26',
+							'facette' => 'T3']],
 
-			[['rech_titres' => 'Tribulations d\'un précaire',
-				'rech_auteurs' =>'',
-				'facettes' => 'T1-YMET'], 			 ['rech_titres' => 'Tribulations d\'un précaire',
-																					'facettes' => 'T1-YMET'
-					]],
-
-			[['rech_titres' => 'le quai de ouistreham',
-				'rech_auteurs' =>'Aubenas',
-				'filtres' => 'B1;B2'], 			 ['rech_titres' => 'le quai de ouistreham',
-																			'rech_auteurs' =>'Aubenas',
-																			'filtres' => 'B1;B2'
-					]],
-
-			[['rech_titres' => 'No-logo',
-				'rech_auteurs' =>'',
-				'code_rebond' =>'',
-				'operateur_editeur' => 'and',
-				'operateur_titres' => 'or',
 
-					], 			 ['rech_titres' => 'No-logo',
-										'operateur_titres' => 'or'
+						[['rech_titres' => 'Tribulations d\'un précaire',
+							'rech_auteurs' =>'',
+							'facettes' => 'T1-YMET'],
 
-						]],
+						 ['rech_titres' => 'Tribulations d\'un précaire',
+							'facettes' => 'T1-YMET']],
 
-			[['expressionRecherche' => 'Oz',
-				'serie' =>'OZ',
-					], 			 ['expressionRecherche' => 'Oz',
-										'serie' => 'OZ'
 
-					]]
+						[['rech_titres' => 'le quai de ouistreham',
+							'rech_auteurs' =>'Aubenas',
+							'filtres' => 'B1;B2'],
 
+						 ['rech_titres' => 'le quai de ouistreham',
+							'rech_auteurs' =>'Aubenas',
+							'filtres' => 'B1;B2']],
 
-		];
+
+						[['rech_titres' => 'No-logo',
+							'rech_auteurs' =>'',
+							'code_rebond' =>'',
+							'operateur_editeur' => 'and',
+							'operateur_titres' => 'or'],
+
+						 ['rech_titres' => 'No-logo',
+							'operateur_titres' => 'or']],
+
+
+						[['expressionRecherche' => 'Oz',
+							'serie' =>'OZ'],
+
+						 ['expressionRecherche' => 'Oz',
+							'serie' => 'OZ']]];
 	}
 
 
@@ -350,7 +366,7 @@ class CriteresRechercheFilterParamsTest extends AbstractControllerTestCase {
 
 
 
-class CriteresRechercheSerieTest extends AbstractControllerTestCase {
+class CriteresRechercheSerieTest extends ModelTestCase {
 	public function setUp() {
 		parent::setUp();
 		$this->criteres_recherche= new Class_CriteresRecherche();
@@ -382,10 +398,23 @@ class CriteresRechercheSerieTest extends AbstractControllerTestCase {
 
 
 
+class CriteresRechercheCatalogueSortTest extends ModelTestCase {
+	/** @test */
+	public function shouldBeSortedByPublication() {
+		$criteres = new Class_CriteresRecherche();
+		$criteres->setParams(['id_catalogue' => 2]);
+
+		$this->assertEquals(Class_CriteresRecherche::SORT_PUBLICATION,
+												$criteres->getTri());
+	}
+}
+
+
+
 class CriteresRechercheWithGenreTest extends AbstractControllerTestCase {
 	public function setUp() {
 		parent::setUp();
-		$this->criteres_recherche= new Class_CriteresRecherche();
+		$this->criteres_recherche = new Class_CriteresRecherche();
 		$this->criteres_recherche->setParams(['genre' => '10;56']);
 	}