diff --git a/CHANGELOG.md b/CHANGELOG.md
index 228e494729434a3ebe431d0275312e24f784e159..637dace28f40ee975273b216c51a32773c4b9210 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,9 @@
 # Changelog
+## Unreleased
+
+### Added
+
+- Pour `inserer_modeles`, regrouper les modèles dans la catégorie `sommaire`
 
 ## 2.0.0 - 2025-02-27
 
diff --git a/modeles/retire_sommaire.yaml b/modeles/retire_sommaire.yaml
index 29510705bc2f953d3fd1e235bcfc1013a0610506..5d7bc553a64b1a176fbf75bf8fbf2346a68b0266 100644
--- a/modeles/retire_sommaire.yaml
+++ b/modeles/retire_sommaire.yaml
@@ -1,5 +1,8 @@
 nom: '<:sommaire:retire_sommaire:>'
 icone_barre: 'retire-sommaire-xx.svg'
+categorie:
+  type: 'sommaire'
+  rang: 10
 parametres:
   -
     saisie: 'hidden'
diff --git a/modeles/sommaire.yaml b/modeles/sommaire.yaml
index a40454b1c37a7c8adba36f8b0d2d12ca18aa8222..8549f904024c0fc2051eb3607356eefc690ec633 100644
--- a/modeles/sommaire.yaml
+++ b/modeles/sommaire.yaml
@@ -1,5 +1,8 @@
 nom: '<:sommaire:sommaire_titre:>'
 icone_barre: 'sommaire-xx.svg'
+categorie:
+  type: 'sommaire'
+  rang: 1
 parametres:
   -
     saisie: 'hidden'
diff --git a/paquet.xml b/paquet.xml
index 86ff7b2e6fe51b7d639ac945bed75684a0a0a1ac..62459f5c14f1e6268c783cdf56b3f2a85711cc32 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -18,8 +18,9 @@
 
 	<licence>GNU/GPL</licence>
 
-	<pipeline nom="declarer_tables_interfaces" inclure="sommaire_fonctions.php" />
-	<pipeline nom="insert_head_css" inclure="sommaire_fonctions.php" />
+	<pipeline nom="declarer_tables_interfaces" inclure="sommaire_pipelines.php" />
+	<pipeline nom="insert_head_css" inclure="sommaire_pipelines.php" />
+	<pipeline nom="inserer_modeles_lister_categories" inclure="sommaire_pipelines.php" />
 
 	<utilise nom="inserer_modele" />
 </paquet>
diff --git a/sommaire_fonctions.php b/sommaire_fonctions.php
index 6fe0f646bd7bbb5c56a6b5f857c1c15a6095924a..b1e305765cf0bbb630be3e7279f4f02032e091ac 100644
--- a/sommaire_fonctions.php
+++ b/sommaire_fonctions.php
@@ -72,14 +72,6 @@ function balise_SOMMAIRE_dist($p) {
 	return $p;
 }
 
-/*
- * Protected
- */
-
-function sommaire_insert_head_css($flux) {
-	$flux .= '<link rel="stylesheet" type="text/css" href="'.find_in_path('css/sommaire.css').'"/>'."\n";
-	return $flux;
-}
 
 /**
  * Affiche le sommaire d'un texte
@@ -114,22 +106,6 @@ function sommaire_depile_note() {
 }
 
 
-/**
- * Ajouter le calcul du sommaire automatique sur les textes d'article
- * @param $interfaces
- * @return mixed
- */
-function sommaire_declarer_tables_interfaces($interfaces) {
-	$traitement = $interfaces['table_des_traitements']['TEXTE'][0];
-	if (isset($interfaces['table_des_traitements']['TEXTE']['articles'])) {
-		$traitement = $interfaces['table_des_traitements']['TEXTE']['articles'];
-	}
-
-	$traitement = str_replace('propre(', 'sommaire_propre(', $traitement);
-	$interfaces['table_des_traitements']['TEXTE']['articles']= $traitement;
-
-	return $interfaces;
-}
 
 /**
  * Transforme les raccourcis SPIP, liens et modèles d'un texte en code HTML
@@ -525,3 +501,5 @@ function sommaire_filtrer_niveaux($sommaire, $niveau_max = null) {
 
 	return $sommaire;
 }
+
+
diff --git a/sommaire_pipelines.php b/sommaire_pipelines.php
new file mode 100644
index 0000000000000000000000000000000000000000..28869c3da6728b731ccea850c5a953016cf95b76
--- /dev/null
+++ b/sommaire_pipelines.php
@@ -0,0 +1,38 @@
+<?php
+
+
+/*
+ * Insérer les styles
+ */
+function sommaire_insert_head_css($flux) {
+	$flux .= '<link rel="stylesheet" type="text/css" href="'.find_in_path('css/sommaire.css').'"/>'."\n";
+	return $flux;
+}
+
+
+/**
+ * Ajouter le calcul du sommaire automatique sur les textes d'article
+ * @param $interfaces
+ * @return mixed
+ */
+function sommaire_declarer_tables_interfaces($interfaces) {
+	$traitement = $interfaces['table_des_traitements']['TEXTE'][0];
+	if (isset($interfaces['table_des_traitements']['TEXTE']['articles'])) {
+		$traitement = $interfaces['table_des_traitements']['TEXTE']['articles'];
+	}
+
+	$traitement = str_replace('propre(', 'sommaire_propre(', $traitement);
+	$interfaces['table_des_traitements']['TEXTE']['articles']= $traitement;
+
+	return $interfaces;
+}
+
+/**
+ * Catégorie "sommaire" pour insérer modèle
+ **/
+function sommaire_inserer_modeles_lister_categories(array $flux): array {
+	$flux['sommaire'] = [
+		'nom' => _T('sommaire:sommaire_titre')
+	];
+	return $flux;
+}