diff --git a/inc/meteo_charger.php b/inc/meteo_charger.php
index 837ea5342f526de336f80c27f6446ad69d2e173d..82673ea518ce4b286a2085939dc3b617a7dd2325 100644
--- a/inc/meteo_charger.php
+++ b/inc/meteo_charger.php
@@ -307,6 +307,18 @@ function inc_meteo_charger_dist(string $lieu, ?string $mode = 'conditions', ?str
 											$donnees['risque_uv'] = indice2risque_uv($donnees['indice_uv']);
 										}
 
+										//    -- Calcul du point de rosée pour les conditions si celui-ci n'est pas fourni
+										if (
+											($mode === 'conditions')
+											and !is_float($donnees['point_rosee'])
+										) {
+											$donnees['point_rosee'] = temperature2pointrosee(
+												$donnees['temperature_reelle'],
+												$donnees['humidite'],
+												$configuration_service['unite']
+											);
+										}
+
 										// 5- Ajout du bloc à l'index en cours
 										if ($_periode === -1) {
 											$tableau[$_index_jour] = $donnees;
diff --git a/inc/rainette_convertir.php b/inc/rainette_convertir.php
index 1ace08d4a4c29d84ebc3e4ec0465d6c94cc46091..e54c6990074c37309aac2c9b0c65ff78f7e29c3b 100644
--- a/inc/rainette_convertir.php
+++ b/inc/rainette_convertir.php
@@ -121,7 +121,7 @@ function indice2risque_uv(?float $indice_uv = null) : string {
  * @return null|float La valeur réelle correspondante convertie en miles
  */
 function kilometre2mile(?float $kilometre = null) {
-	return $kilometre !== null ? 0.6215 * $kilometre : null;
+	return $kilometre !== null ? 0.621371 * $kilometre : null;
 }
 
 /**
@@ -132,7 +132,7 @@ function kilometre2mile(?float $kilometre = null) {
  * @return null|float La valeur réelle correspondante convertie en kilomètres
  */
 function mile2kilometre(?float $miles = null) {
-	return $miles !== null ? $miles / 0.6215 : null;
+	return $miles !== null ? $miles / 0.621371 : null;
 }
 
 /**
@@ -180,7 +180,42 @@ function millibar2inch(?float $millibar = null) {
 }
 
 /**
- * Calcule la température ressentie (refroidissement éolien) en degrés celsius.
+ * Calcule la température de rosée en fonction de la température ambiente et de l'humidité (en pourcentage).
+ * On utilise la formule de Heinrich Gustav Magnus-Tetens.
+ *
+ * @param null|float $temperature Température réelle mesurée en celsius.
+ * @param null|float $humidite    Pourcentage d'humidité.
+ * @param null|string $unite Système d'unité métrique (`m`, défaut) ou impérial (`s`)
+ *
+ * @return null|float La température du point de rosée.
+ */
+function temperature2pointrosee(?float $temperature = null, ?float $humidite = null, ?string $unite = 'm') {
+	$point_rosee = null;
+
+	// Vérifier les bornes de validité de la formule.
+	if (
+		is_float($temperature)
+		and ($temperature > 0)
+		and ($temperature < 60)
+		and is_float($humidite)
+		and $humidite > 1
+		and ($humidite < 100)
+	) {
+		// On convertit en système métrique pour effectuer le calcul
+		if ($unite !== 'm') {
+			$temperature = farenheit2celsius($temperature);
+		}
+
+		// Formule de calcul Heinrich Gustav Magnus-Tetens
+		$alpha = (17.27 * $temperature) / (237.7 + $temperature) + log($humidite / 100);
+		$point_rosee = (237.7 * $alpha) / (17.27 - $alpha);
+	}
+
+	return $point_rosee;
+}
+
+/**
+ * Calcule la température ressentie en degrés celsius par refroidissement éolien.
  *
  * Le calcul n'a de sens que pour des températures réelles supérieures à -50°C et inférieures à 10°C.
  * Au-delà de ces valeurs, la fonction renvoie la température réelle fournie en entrée.
@@ -191,7 +226,7 @@ function millibar2inch(?float $millibar = null) {
  *
  * @return null|float Température ressentie arrondie en entier et exprimée en degrés celsius.
  */
-function temperature2ressenti(float $temperature, float $vitesse_vent, ?string $unite = 'm') {
+function temperature2ressenti(?float $temperature = null, ?float $vitesse_vent = null, ?string $unite = 'm') {
 	// Initialisation de la température à null dans le cas où l'une des données d'entrée est null
 	$ressenti = null;
 
diff --git a/paquet.xml b/paquet.xml
index 6f4f3eadc6658f0b2f5e6f1724ece5b84f3e2a16..33c2c41ac340f245e83ad68980a4799cefcffe1c 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -6,7 +6,7 @@
 	logo="rainette.svg"
 	demonstration="demo/rainette"
 	documentation="https://contrib.spip.net/article4949"
-	schema="11"
+	schema="12"
 >
 	<nom>Rainette</nom>
 	<!-- La météo au quotidien -->
diff --git a/rainette_administrations.php b/rainette_administrations.php
index 9d50df3e0b2e23c079d3c2d8c838cbb1578d3353..f81593e404a223a93330faab07451d0c60279e7f 100644
--- a/rainette_administrations.php
+++ b/rainette_administrations.php
@@ -73,6 +73,11 @@ function rainette_upgrade(string $nom_meta_base_version, string $version_cible)
 		['rainette_configurer'],
 	];
 
+	// La température ressentie est un indice pas une vraie température
+	$maj['12'] = [
+		['rainette_configurer'],
+	];
+
 	include_spip('base/upgrade');
 	maj_plugin($nom_meta_base_version, $version_cible, $maj);
 }
diff --git a/services/config/rainette.yaml b/services/config/rainette.yaml
index db7585ddea3d14f0e2e9c9368c1b01fa0e6e8605..0e3d21c5f0ed29a74c08b94d0a62a73bd8408431 100644
--- a/services/config/rainette.yaml
+++ b/services/config/rainette.yaml
@@ -180,7 +180,7 @@ conditions:
       historisable: true
     temperature_ressentie:
       type_php: 'float'
-      type_unite: 'temperature'
+      type_unite: 'indice'
       groupe: 'donnees_temperatures'
       historisable: true
     vitesse_vent:
@@ -693,5 +693,5 @@ historiques:
 # Bloc de gestion de la version de configuration
 # ----------------------------------------------
 version:
-  numero: '8'
-  date: '2023-11-18'
+  numero: '9'
+  date: '2023-11-26'
diff --git a/services/meteoconcept.yaml b/services/meteoconcept.yaml
index c8f2c616abc030e3150f4174262ac975d181b63f..3a385ad4aa7b1e39bc07db9aa605a3c6874bad42 100644
--- a/services/meteoconcept.yaml
+++ b/services/meteoconcept.yaml
@@ -18,8 +18,8 @@ service:
   nom: 'Meteo Concept'
   # -- Version de la configuration du service
   version:
-    numero: '6'
-    date: '2023-11-18'
+    numero: '7'
+    date: '2023-11-26'
   # -- URL de base des requêtes et des icones (éventuellement)
   endpoint_requete: 'https://api.meteo-concept.com/api/'
   endpoint_icone: ''
@@ -224,6 +224,7 @@ conditions:
       cle: [ 'rh2m' ]
     point_rosee:
       cle: [ ]
+      calcul: true
     pression:
       cle: [ ]
     tendance_pression:
diff --git a/services/openmeteo.yaml b/services/openmeteo.yaml
index 09e72eaaca5039fdfec1476e0e6c5f4b0b19df77..cc76986ca484d3fc6f955fed0da7cbfa965c73d0 100644
--- a/services/openmeteo.yaml
+++ b/services/openmeteo.yaml
@@ -18,8 +18,8 @@ service:
   nom: 'Open-Meteo'
   # -- Version de la configuration du service
   version:
-    numero: '5'
-    date: '2023-11-18'
+    numero: '6'
+    date: '2023-11-26'
   # -- URL de base des requêtes et des icones (éventuellement)
   endpoint_requete: 'https://api.open-meteo.com/v1/forecast'
   endpoint_icone: ''
@@ -161,6 +161,7 @@ conditions:
       cle: [ 'relativehumidity_2m' ]
     point_rosee:
       cle: [ ]
+      calcul: true
     pression:
       cle: [ 'surface_pressure' ]
     tendance_pression:
diff --git a/services/owm.yaml b/services/owm.yaml
index 00bc69c0175d75cde12a7ab452c4feeaf8efb660..bdfa4457d1b65d868ca965cedc56f77d27288bbd 100644
--- a/services/owm.yaml
+++ b/services/owm.yaml
@@ -16,8 +16,8 @@ service:
   nom: 'OpenWeather'
   # -- Version de la configuration du service
   version:
-    numero: '5'
-    date: '2023-11-18'
+    numero: '6'
+    date: '2023-11-26'
   # -- URL de base des requêtes et des icones (éventuellement)
   endpoint_requete: 'https://api.openweathermap.org/data/2.5/'
   endpoint_icone: 'http://openweathermap.org/img/w'
@@ -164,6 +164,7 @@ conditions:
       cle: ['main', 'humidity']
     point_rosee:
       cle: [ ]
+      calcul: true
     pression:
       cle: ['main', 'pressure']
     tendance_pression:
diff --git a/services/weatherapi.yaml b/services/weatherapi.yaml
index 1a409dfd3336b2d60888c4d307c8da90919a15ba..86ca5542f06bf4d7563ffd5f334a6d6737181a6f 100644
--- a/services/weatherapi.yaml
+++ b/services/weatherapi.yaml
@@ -16,8 +16,8 @@ service:
   nom: 'WeatherAPI'
   # -- Version de la configuration du service
   version:
-    numero: '5'
-    date: '2023-11-18'
+    numero: '6'
+    date: '2023-11-26'
   # -- URL de base des requêtes et des icones (éventuellement)
   endpoint_requete: 'https://api.weatherapi.com/v1'
   endpoint_icone: ''
@@ -159,6 +159,7 @@ conditions:
       cle: [ 'humidity' ]
     point_rosee:
       cle: [ ]
+      calcul: true
     pression:
       cle: [ 'pressure_' ]
       suffixe_unite: { id_cle: 0, m: 'mb', s: 'in' }
diff --git a/services/wwo.yaml b/services/wwo.yaml
index 20d78a6824cb27b44dc79678907dc20f8f21771f..0846ae07af56404f505576d1c1402dfc08a5e463 100644
--- a/services/wwo.yaml
+++ b/services/wwo.yaml
@@ -16,8 +16,8 @@ service:
   nom: 'World Weather Online'
   # -- Version de la configuration du service
   version:
-    numero: '5'
-    date: '2023-11-18'
+    numero: '6'
+    date: '2023-11-26'
   # -- URL de base des requêtes et des icones (éventuellement)
   endpoint_requete: 'https://api.worldweatheronline.com/premium/v1/weather.ashx'
   endpoint_icone: ''
@@ -158,6 +158,7 @@ conditions:
       cle: [ 'humidity' ]
     point_rosee:
       cle: [ ]
+      calcul: true
     pression:
       cle: [ 'pressure' ]
       suffixe_unite: { id_cle: 0, m: '', s: 'Inches' }