diff --git a/ecrire/inc/urls.php b/ecrire/inc/urls.php
index ef1c0e47d56f3959bb2f7ed95faf2fdf7db367e9..643844ea5401a0a5ba8458765dcf75d3c46773d8 100644
--- a/ecrire/inc/urls.php
+++ b/ecrire/inc/urls.php
@@ -334,7 +334,7 @@ function generer_objet_url_ecrire($objet, $id, $args = '', $ancre = '', $public
 		$public = objet_test_si_publie($objet, $id, $connect);
 	}
 	if ($public or $connect) {
-		return generer_objet_url_absolue($id, $objet, $args, $ancre, $connect);
+		return generer_objet_url_absolue($id, $objet, $args, $ancre, $public, '', $connect);
 	}
 	$a = id_table_objet($objet) . '=' . intval($id);
 	if (!function_exists('objet_info')) {
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 28249c82566349a6a780e23590cf584dba807a97..1801f8ac311f060cb8add4974edfd3eb610a6211 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1974,14 +1974,13 @@ function urlencode_1738($url) {
  * @param string $entite
  * @param string $args
  * @param string $ancre
- * @param $connect
+ * @param ?bool $public
+ * @param string $type
+ * @param string $connect
  * @return string
  */
-function generer_objet_url_absolue($id = '', $entite = '', $args = '', $ancre = '', $connect = null) {
-	if (!$connect) {
-		$connect = true;
-	}
-	$h = generer_objet_url($id, $entite, $args, $ancre, null, '', $connect);
+function generer_objet_url_absolue($id = '', $entite = '', $args = '', $ancre = '', ?bool $public = null, string $type = '', string $connect = ''): string {
+	$h = generer_objet_url($id, $entite, $args, $ancre, $public, $type, $connect);
 	if (!preg_match(',^\w+:,', $h)) {
 		include_spip('inc/filtres_mini');
 		$h = url_absolue($h);
@@ -1995,7 +1994,7 @@ function generer_objet_url_absolue($id = '', $entite = '', $args = '', $ancre =
  * @see  generer_objet_url_absolue
  */
 function generer_url_entite_absolue($id = '', $entite = '', $args = '', $ancre = '', $connect = null){
-	return generer_objet_url_absolue($id, $entite, $args, $args, $ancre, $connect);
+	return generer_objet_url_absolue($id, $entite, $args, $ancre, true, '', $connect);
 }