Index: main/plugin-web/i18n/messages_en.xml
===================================================================
--- main/plugin-web/i18n/messages_en.xml	(revision 38969)
+++ main/plugin-web/i18n/messages_en.xml	(working copy)
@@ -280,9 +280,9 @@
          | DATASOURCE FO 
          + -->
     <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE">Front-office database connection</message>
-    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CONNECTION_CHECKER_LABEL">Check the connection to the front office database</message>
-    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CONNECTION_CHECKER_DESC">This test checks if the given information allows the connection to the front office database.</message>
-   
+    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_LABEL">Front-office database</message>
+    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_DESCRIPTION">Specify here the data source to use as the front-office data base. It will be used to store front-office groups and users for instance.</message>
+       
     <!-- +
          | LOGIN FO 
          + -->
@@ -308,17 +308,10 @@
     <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_HANDLING_ENABLE_DESCRIPTION">Activate the background statistics processing (every hour at 15: 1h15, 2h15...). To consult the statistics correctly, see the installation guide.</message>
     
     <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP">Monitoring database connection</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_DRIVER_LABEL">Driver</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_DRIVER_DESCRIPTION">JDBC Driver fully qualified class name</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_URL_LABEL">Url</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_URL_DESCRIPTION">JDBC URL for connecting to the database</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_USER_LABEL">User</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_USER_DESCRIPTION">User name for connecting to the database</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_PASSWORD_LABEL">Password</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_PASSWORD_DESCRIPTION">Password associated with the user name for connecting to the database</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_CONNECTION_CHECKER_LABEL">Check the connection to the monitoring database</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_CONNECTION_CHECKER_DESC">This test checks if the given information allows the connection to the monitoring database.</message>
-   
+    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_LABEL">Monitoring database</message>
+    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_DESCRIPTION">Speci
+    Spécifiez ici la source de données à utiliser en tant que base de données de monitoring. Elle sera utilisée pour stocker des statistiques de monitoring sur les différents sites administrés.</message>
+    
 	<!-- +
 		 | SITES CONFIGURATION
 		 + -->
Index: main/plugin-web/i18n/messages_fr.xml
===================================================================
--- main/plugin-web/i18n/messages_fr.xml	(revision 38969)
+++ main/plugin-web/i18n/messages_fr.xml	(working copy)
@@ -282,8 +282,8 @@
          | DATASOURCE FO
          + -->
     <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE">Connexion à la base de données du front-office</message>
-	<message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CONNECTION_CHECKER_LABEL">Vérifier la connexion à la base du front-office</message>
-    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CONNECTION_CHECKER_DESC">Ce test vérifie que les informations saisies permettent bien d'établir une connexion avec la base de données du front-office.</message>
+    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_LABEL">Base de données front-office</message>
+    <message key="PLUGINS_WEB_DATASOURCE_FO_CONFIG_DESCRIPTION">Spécifiez ici la source de données à utiliser en tant que base du front-office. Elle sera utilisée pour stocker, entre autres, les utilisateurs du front-office, les groupes du front-office...</message>
 
     <!-- +
          | LOGIN FO
@@ -310,16 +310,8 @@
     <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_HANDLING_ENABLE_DESCRIPTION">Active les traitements en tâche de fond des statistiques (toutes les heures à 15 : 1h15, 2h15...). Pour consulter les statistiques des sites correctement, voir la documentation d'installation.</message>
 
     <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP">Connexion à la base de données de monitoring</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_DRIVER_LABEL">Pilote</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_DRIVER_DESCRIPTION">Nom complet de la classe driver JDBC à charger</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_URL_LABEL">Url</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_URL_DESCRIPTION">Url JDBC de connexion au serveur de base de données</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_USER_LABEL">Utilisateur</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_USER_DESCRIPTION">Nom d'utilisateur à utiliser lors de la connexion au serveur de base de données</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_PASSWORD_LABEL">Mot de passe</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_PASSWORD_DESCRIPTION">Mot de passe associé au nom d'utilisateur à utiliser lors de la connexion au serveur de base de données</message>
-	<message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_CONNECTION_CHECKER_LABEL">Vérifier la connexion à la base de monitoring</message>
-    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_CONNECTION_CHECKER_DESC">Ce test vérifie que les informations saisies permettent bien d'établir une connexion avec la base de données de monitoring</message>
+    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_LABEL">Base de données de monitoring</message>
+    <message key="PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_DESCRIPTION">Spécifiez ici la source de données à utiliser en tant que base de données de monitoring. Elle sera utilisée pour stocker des statistiques de monitoring sur les différents sites administrés.</message>
 
 	<!-- +
 		 | SITES CONFIGURATION
Index: main/plugin-web/plugin.xml
===================================================================
--- main/plugin-web/plugin.xml	(revision 38969)
+++ main/plugin-web/plugin.xml	(working copy)
@@ -23,60 +23,31 @@
     <!-- +
          | CORE DATASOURCE
          + -->
-    <!-- JDBC -->
     <config>
-        <param id="front-office.usersManager.jdbc.driver" type="string">
-            <!-- 
-                 This parameter contains the jdbc driver class to load to connect the database.
-                -->
-            <label i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_DRIVER_LABEL</label>
-            <description i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_DRIVER_DESCRIPTION</description>
-            <validation>
-                <mandatory/>
-            </validation>
-            <default-value>com.mysql.jdbc.Driver</default-value>
-            <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-            <group i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE</group>
-            <order>10</order>
-        </param>
-        <param id="front-office.usersManager.jdbc.url" type="string">
+        <!-- Front office JDBC -->
+        <param id="frontoffice.datasource.jdbc.pool" type="datasource">
             <!-- 
-                This parameter contains the jdbc url to connect the database.
-            -->
-            <label i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_URL_LABEL</label>
-            <description i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_URL_DESCRIPTION</description>
+                This parameter contains the jdbc driver class to load to connect the core database pool.
+             -->
+            <label i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_LABEL</label>
+            <description i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_DESCRIPTION</description>
+            <widget>edition.datasource-sql</widget>
+            <widget-params>
+                <param name="allowCreation">true</param>
+                <param name="allowPrivate">true</param>
+            </widget-params>
             <validation>
                 <mandatory/>
             </validation>
-            <default-value>jdbc:mysql://servername/basename</default-value>
-            <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-            <group i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE</group>
-            <order>20</order>
-        </param>
-        <param id="front-office.usersManager.jdbc.user" type="string">
-            <!-- 
-                This parameter contains the jdbc username to connect the database.
-            -->
-            <label i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_USER_LABEL</label>
-            <description i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_USER_DESCRIPTION</description>
-            <default-value>username</default-value>
             <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
             <group i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE</group>
             <order>30</order>
         </param>
-        <param id="front-office.usersManager.jdbc.passwd" type="password">
-            <!-- 
-                This parameter contains the jdbc password to connect the database.
-            -->
-            <label i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_PASSWORD_LABEL</label>
-            <description i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_PASSWORD_DESCRIPTION</description>
-            <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-            <group i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE</group>
-            <order>40</order>
-        </param>
+        
+        <!-- Page element cache --> 
         <param id="page.element.cache.disabled" type="boolean">
             <!-- 
-                This parameter contains the jdbc password to connect the database.
+                This parameter is used to enable/disable the caching of the rendering of some page elements
             -->
             <label i18n="true">PLUGINS_WEB_CONFIG_PAGE_ELEMENT_CACHE_DISABLED_LABEL</label>
             <description i18n="true">PLUGINS_WEB_CONFIG_PAGE_ELEMENT_CACHE_DISABLED_DESCRIPTION</description>
@@ -85,27 +56,6 @@
             <group i18n="true">plugin.core:PLUGINS_CORE_DEBUG_GROUP</group>
             <order>50</order>
         </param>
-        
-        <param-checker id="front-office.jdbc.checker" class="org.ametys.plugins.core.impl.checker.SqlConnectionChecker">
-            <label i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CONNECTION_CHECKER_LABEL</label>
-            <description i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CONNECTION_CHECKER_DESC</description>
-            <icon-large plugin="core-impl">img/config/check/test_sqlconnect_48.png</icon-large>
-            <icon-medium plugin="core-impl">img/config/check/test_sqlconnect_32.png</icon-medium>
-            <icon-small plugin="core-impl">img/config/check/test_sqlconnect_16.png</icon-small>
-                        
-            <ui-ref>
-                <order>1</order>
-                <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-                <group i18n="true">PLUGINS_WEB_DATASOURCE_FO_CONFIG_JDBC_CATEGORY_DATASOURCE_GROUP_CORE</group>
-            </ui-ref>
-            
-            <linked-params>
-                <param-ref id="front-office.usersManager.jdbc.driver"/>
-                <param-ref id="front-office.usersManager.jdbc.url"/>
-                <param-ref id="front-office.usersManager.jdbc.user"/>
-                <param-ref id="front-office.usersManager.jdbc.passwd"/>
-            </linked-params>
-        </param-checker>
     </config>
         
     <extension-points>
@@ -1193,28 +1143,15 @@
     
     <feature name="web.user.management">
         <config>
-            <param-ref id="runtime.datasource.core.jdbc.driver"/>
-            <param-ref id="runtime.datasource.core.jdbc.url"/>
-            <param-ref id="runtime.datasource.core.jdbc.user"/>
-            <param-ref id="runtime.datasource.core.jdbc.passwd"/>
+            <param-ref id="runtime.datasource.core.jdbc.pool"/>
         </config>
             
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="user.management.datasource.pool">
-                <driver runtime-config-parameter="runtime.datasource.core.jdbc.driver"/>
-                <dburl runtime-config-parameter="runtime.datasource.core.jdbc.url"/>
-                <user runtime-config-parameter="runtime.datasource.core.jdbc.user"/>
-                <password runtime-config-parameter="runtime.datasource.core.jdbc.passwd"/>
-            </extension>
-        </extensions>
-        
         <components>
             <component role="org.ametys.web.usermanagement.UserSignupManager"
                        id="org.ametys.web.usermanagement.UserSignupManager"
                        class="org.ametys.web.usermanagement.UserSignupManager"
                        logger="org.ametys.web.usermanagement.UserSignupManager">
-                <pool>user.management.datasource.pool</pool>
+                <pool>runtime.datasource.core.jdbc.pool</pool>
                 <temp-users-table>Users_Temp</temp-users-table>
                 <pwd-change-table>Users_PasswordChange</pwd-change-table>
             </component>
@@ -6470,17 +6407,14 @@
     
     <feature name="front-office.users.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO" 
                        id="org.ametys.web.frontoffice.user.Jdbc" 
                        class="org.ametys.plugins.core.impl.user.jdbc.JdbcUsersManager">
-                <pool>front-office.datasource.pool</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="firstname"/>
@@ -6488,31 +6422,18 @@
                 <param id="email"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.modifiable.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO"
                        id="org.ametys.web.frontoffice.user.ModifiableJdbc" 
                        class="org.ametys.plugins.core.impl.user.jdbc.ModifiableJdbcUsersManager">
-                <pool>front-office.datasource.pool.modifiable</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="firstname"/>
@@ -6520,31 +6441,18 @@
                 <param id="email"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.modifiable">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
             
     <feature name="front-office.users.credentialsaware.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO"
                        id="org.ametys.web.frontoffice.user.CredentialsAwareJdbc" 
                        class="org.ametys.plugins.core.impl.user.jdbc.CredentialsAwareJdbcUsersManager">
-                <pool>front-office.datasource.pool.credentialaware</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="password"/>
@@ -6554,31 +6462,18 @@
                 <salt column="salt"/>
             </component>
         </components>
-            
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.credentialaware">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.modifiablecredentialsaware.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO" 
                        id="org.ametys.web.frontoffice.user.ModifiableCredentialsAwareJdbc" 
                        class="org.ametys.plugins.core.impl.user.jdbc.ModifiableCredentialsAwareJdbcUsersManager">
-                <pool>front-office.datasource.pool.modifiablecredentialsaware</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="password"/>
@@ -6588,31 +6483,18 @@
                 <salt column="salt"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.modifiablecredentialsaware">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.site.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO"
                        id="org.ametys.web.frontoffice.user.SiteAwareJdbc" 
                        class="org.ametys.web.frontoffice.users.JdbcSiteAwareUsersManager">
-                <pool>front-office.datasource.pool.site</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="firstname"/>
@@ -6620,31 +6502,18 @@
                 <param id="email"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.site">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.modifiable.site.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO" 
                        id="org.ametys.web.frontoffice.user.ModifiableSiteAwareJdbc"
                        class="org.ametys.web.frontoffice.users.ModifiableJdbcUsersSiteAwareManager">
-                <pool>front-office.datasource.pool.modifiable.site</pool>
+                <pool>front-frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="firstname"/>
@@ -6652,31 +6521,18 @@
                 <param id="email"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.modifiable.site">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.credentialsaware.site.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO"
                        id="org.ametys.web.frontoffice.user.CredentialsAwareSiteAwareJdbc" 
                        class="org.ametys.web.frontoffice.users.CredentialsAwareJdbcSiteAwareUsersManager">
-                <pool>front-office.datasource.pool.credentialaware.site</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="password"/>
@@ -6686,31 +6542,18 @@
                 <salt column="salt"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.credentialaware.site">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.modifiablecredentialsaware.site.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
             <component role="org.ametys.core.user.UsersManager.FO"
                        id="org.ametys.web.frontoffice.user.ModifiableCredentialsAwareSiteAwareJdbc" 
                        class="org.ametys.web.frontoffice.users.ModifiableCredentialsAwareJdbcSiteAwareUsersManager">
-                <pool>front-office.datasource.pool.modifiablecredentialsaware.site</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <table>FOUsers</table>
                 <param id="login"/>
                 <param id="password"/>
@@ -6720,28 +6563,11 @@
                 <salt column="salt"/>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.modifiablecredentialsaware.site">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.ldap">
         <config>
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.users.ldap.peopleDN"/>
             <param-ref id="runtime.users.ldap.baseFilter"/>
@@ -6757,15 +6583,6 @@
                        id="org.ametys.web.frontoffice.Ldap"
                        class="org.ametys.plugins.core.impl.user.ldap.LdapUsersManager"
                        logger="org.ametys.web.frontoffice.user.ldap">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.users.ldap.peopleDN</RelativeDN>
                 <Filter>runtime.users.ldap.baseFilter</Filter>
                 <SearchScope>runtime.users.ldap.scope</SearchScope>
@@ -6780,14 +6597,7 @@
     
     <feature name="front-office.users.ldap.credentialsaware">
         <config>
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.users.ldap.peopleDN"/>
             <param-ref id="runtime.users.ldap.baseFilter"/>
@@ -6804,15 +6614,6 @@
                        id="org.ametys.web.frontoffice.CredentialsAwareLdap"
                        class="org.ametys.plugins.core.impl.user.ldap.CredentialsAwareLdapUsersManager"
                        logger="org.ametys.web.frontoffice.user.credentialsawareldap">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.users.ldap.peopleDN</RelativeDN>
                 <Filter>runtime.users.ldap.baseFilter</Filter>
                 <SearchScope>runtime.users.ldap.scope</SearchScope>
@@ -6827,19 +6628,9 @@
     
     <feature name="front-office.users.ldap-and-jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
             
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.users.ldap.peopleDN"/>
             <param-ref id="runtime.users.ldap.baseFilter"/>
@@ -6856,15 +6647,6 @@
                        id="org.ametys.web.frontoffice.LdapAndSqlFrontOfficeUsersManager"
                        class="org.ametys.plugins.core.impl.user.mixed.CredentialsAwareLdapAndJdbcUsersManager"
                        logger="org.ametys.plugins.core.impl.user.mixed.ldap.and.jdbc.credential">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.users.ldap.peopleDN</RelativeDN>
                 <Filter>runtime.users.ldap.baseFilter</Filter>
                 <SearchScope>runtime.users.ldap.scope</SearchScope>
@@ -6876,7 +6658,7 @@
                 
                 <!-- Fallback users manager configuration. -->
                 <FallbackUsersManagerConfiguration>
-                    <pool>front-office.datasource.pool.ldap-and-jdbc</pool>
+                    <pool>frontoffice.datasource.jdbc.pool</pool>
                     <table>FOUsers</table>
                     <param id="login"/>
                     <param id="password"/>
@@ -6886,33 +6668,14 @@
                 </FallbackUsersManagerConfiguration>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.ldap-and-jdbc">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.users.ldap-and-jdbc.site">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
             
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
+            
             <param-ref id="runtime.users.ldap.peopleDN"/>
             <param-ref id="runtime.users.ldap.baseFilter"/>
             <param-ref id="runtime.users.ldap.scope"/>
@@ -6927,15 +6690,6 @@
             <component role="org.ametys.core.user.UsersManager.FO"
                        id="org.ametys.web.frontoffice.LdapAndSqlFrontOfficeSiteAwareUsersManager"
                        class="org.ametys.web.frontoffice.users.CredentialsAwareLdapAndJdbcSiteAwareUsersManager">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.users.ldap.peopleDN</RelativeDN>
                 <Filter>runtime.users.ldap.baseFilter</Filter>
                 <SearchScope>runtime.users.ldap.scope</SearchScope>
@@ -6947,7 +6701,7 @@
                 
                 <!-- Fallback users manager configuration. -->
                 <FallbackUsersManagerConfiguration>
-                    <pool>front-office.datasource.pool.ldap-and-jdbc.site</pool>
+                    <pool>frontoffice.datasource.jdbc.pool</pool>
                     <table>FOUsers</table>
                     <param id="login"/>
                     <param id="password"/>
@@ -6957,16 +6711,6 @@
                 </FallbackUsersManagerConfiguration>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.ldap-and-jdbc.site">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.defaultGroupsManager">
@@ -6979,10 +6723,7 @@
     
     <feature name="front-office.groups.modifiable.jdbc">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
         </config>
             
         <components>
@@ -6990,7 +6731,7 @@
                        id="org.ametys.web.frontoffice.group.ModifiableJdbc"
                        class="org.ametys.web.frontoffice.groups.ModifiableJdbcFOGroupsManager"
                        logger="org.ametys.plugins.core.impl.group.jdbc">
-                <pool>front-office.datasource.pool.groups.modifiable</pool>
+                <pool>frontoffice.datasource.jdbc.pool</pool>
                 <list>
                     <table>FOGroups</table>
                     <id>Id</id>
@@ -7003,16 +6744,6 @@
                 </composition>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.groups.modifiable">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>        
-        </extensions>
     </feature>
     
      <feature name="front-office.groups.ldap.groupDriven">
@@ -7020,14 +6751,7 @@
             This features defines the base ldap implementation of groups where the group information is handle by the group object
          -->
         <config>
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.groups.ldap.groupDN"/>
             <param-ref id="runtime.groups.ldap.filter"/>
@@ -7044,15 +6768,6 @@
                        id="org.ametys.web.frontoffice.group.GroupDrivenLdap"
                        class="org.ametys.plugins.core.impl.group.ldap.GroupDrivenLdapGroupsManager"
                        logger="org.ametys.web.frontoffice.group.groupdrivenldap">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.groups.ldap.groupDN</RelativeDN>
                 <Filter>runtime.groups.ldap.filter</Filter>
                 <SearchScope>runtime.groups.ldap.scope</SearchScope>
@@ -7071,14 +6786,7 @@
             This features defines the base ldap implementation of groups where the group information is handle by the user object
          -->
         <config>
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.groups.ldap.groupDN"/>
             <param-ref id="runtime.groups.ldap.filter"/>
@@ -7097,15 +6805,6 @@
                        id="org.ametys.web.frontoffice.group.UsersDrivenLdap"
                        class="org.ametys.plugins.core.impl.group.ldap.UserDrivenLdapGroupsManager"
                        logger="org.ametys.web.frontoffice.group.usersdriven">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.groups.ldap.groupDN</RelativeDN>
                 <Filter>runtime.groups.ldap.filter</Filter>
                 <SearchScope>runtime.groups.ldap.scope</SearchScope>
@@ -7123,19 +6822,9 @@
     
     <feature name="front-office.groups.ldap.and.jdbc.userDriven">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
             
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.groups.ldap.groupDN"/>
             <param-ref id="runtime.groups.ldap.filter"/>
@@ -7155,15 +6844,6 @@
                        id="org.ametys.web.frontoffice.group.UsersDrivenLdapAndJdbc"
                        class="org.ametys.plugins.core.impl.group.mixed.UserDrivenLdapAndJdbcGroupsManager"
                        logger="org.ametys.web.frontoffice.group.usersdriven.ldap.and.jdbc">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.groups.ldap.groupDN</RelativeDN>
                 <Filter>runtime.groups.ldap.filter</Filter>
                 <SearchScope>runtime.groups.ldap.scope</SearchScope>
@@ -7177,7 +6857,7 @@
                 <UsersLogin>runtime.users.ldap.loginAttr</UsersLogin>
                 
                 <FallbackGroupsManagerConfiguration>
-                    <pool>front-office.datasource.pool.groups.ldap.userdriven.and.jdbc</pool>
+                    <pool>frontoffice.datasource.jdbc.pool</pool>
                     <list>
                         <table>FOGroups</table>
                         <id>Id</id>
@@ -7191,33 +6871,13 @@
                 </FallbackGroupsManagerConfiguration>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.groups.ldap.userdriven.and.jdbc">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="front-office.groups.ldap.and.jdbc.groupDriven">
         <config>
-            <param-ref id="front-office.usersManager.jdbc.driver"/>
-            <param-ref id="front-office.usersManager.jdbc.url"/>
-            <param-ref id="front-office.usersManager.jdbc.user"/>
-            <param-ref id="front-office.usersManager.jdbc.passwd"/>
+            <param-ref id="frontoffice.datasource.jdbc.pool"/>
             
-            <param-ref id="runtime.datasource.core.ldap.baseUrl"/>
-            <param-ref id="runtime.datasource.core.ldap.useSSL"/>
-            <param-ref id="runtime.datasource.core.ldap.baseDN"/>
-            <param-ref id="runtime.datasource.core.ldap.authMethod"/>
-            <param-ref id="runtime.datasource.core.ldap.adminDN"/>
-            <param-ref id="runtime.datasource.core.ldap.adminPasswd"/>
-            <param-ref id="runtime.datasource.core.ldap.aliasDereferencing"/>
-            <param-ref id="runtime.datasource.core.ldap.followReferrals"/>
+            <param-ref id="runtime.datasource.core.ldap"/>
             
             <param-ref id="runtime.groups.ldap.groupDN"/>
             <param-ref id="runtime.groups.ldap.filter"/>
@@ -7235,15 +6895,6 @@
                        id="org.ametys.web.frontoffice.group.GroupDrivenLdapAndJdbc"
                        class="org.ametys.plugins.core.impl.group.mixed.GroupDrivenLdapAndJdbcGroupsManager"
                        logger="org.ametys.web.frontoffice.group.groupdriven.ldap.and.jdbc">
-                <BaseUrl>runtime.datasource.core.ldap.baseUrl</BaseUrl>
-                <UseSSL>runtime.datasource.core.ldap.useSSL</UseSSL>
-                <BaseDN>runtime.datasource.core.ldap.baseDN</BaseDN>
-                <AuthenticationMethod>runtime.datasource.core.ldap.authMethod</AuthenticationMethod>
-                <AdminDN>runtime.datasource.core.ldap.adminDN</AdminDN>
-                <AdminPassword>runtime.datasource.core.ldap.adminPasswd</AdminPassword>
-                <AliasDereferencing>runtime.datasource.core.ldap.aliasDereferencing</AliasDereferencing>
-                <FollowReferrals>runtime.datasource.core.ldap.followReferrals</FollowReferrals>
-                
                 <RelativeDN>runtime.groups.ldap.groupDN</RelativeDN>
                 <Filter>runtime.groups.ldap.filter</Filter>
                 <SearchScope>runtime.groups.ldap.scope</SearchScope>
@@ -7255,7 +6906,7 @@
                 <Login>runtime.users.ldap.loginAttr</Login>
                 
                 <FallbackGroupsManagerConfiguration>
-                    <pool>front-office.datasource.pool.groups.ldap.groupdriven.and.jdbc</pool>
+                    <pool>frontoffice.datasource.jdbc.pool</pool>
                     <list>
                         <table>FOGroups</table>
                         <id>Id</id>
@@ -7269,16 +6920,6 @@
                 </FallbackGroupsManagerConfiguration>
             </component>
         </components>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="front-office.datasource.pool.groups.ldap.groupdriven.and.jdbc">
-                <driver runtime-config-parameter="front-office.usersManager.jdbc.driver"/>
-                <dburl runtime-config-parameter="front-office.usersManager.jdbc.url"/>
-                <user runtime-config-parameter="front-office.usersManager.jdbc.user"/>
-                <password runtime-config-parameter="front-office.usersManager.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <!-- +
@@ -8355,76 +7996,25 @@
     <feature name="cache.monitoring.datasource">
         <!-- Monitoring Datasource -->
         <config>
-            <param id="cache.monitoring.datasource.jdbc.driver" type="string">
-                <label i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_DRIVER_LABEL</label>
-                <description i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_DRIVER_DESCRIPTION</description>
-                <validation>
-                    <mandatory/>
-                </validation>
-                <default-value>com.mysql.jdbc.Driver</default-value>
-                <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-                <group i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP</group>
-                <order>10</order>
-            </param>
-            <param id="cache.monitoring.datasource.jdbc.url" type="string">
-                <label i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_URL_LABEL</label>
-                <description i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_URL_DESCRIPTION</description>
+            <param id="cache.monitoring.datasource.jdbc.pool" type="datasource">
+                <!-- 
+                    This parameter contains the jdbc driver class to load to connect the core database pool.
+                 -->
+                <label i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_LABEL</label>
+                <description i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_DESCRIPTION</description>
+                <widget>edition.datasource-sql</widget>
+                <widget-params>
+                    <param name="allowCreation">true</param>
+                    <param name="allowPrivate">true</param>
+                </widget-params>
                 <validation>
                     <mandatory/>
                 </validation>
-                <default-value>jdbc:mysql://servername/basename</default-value>
                 <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
                 <group i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP</group>
                 <order>20</order>
             </param>
-            <param id="cache.monitoring.datasource.jdbc.user" type="string">
-                <label i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_USER_LABEL</label>
-                <description i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_USER_DESCRIPTION</description>
-                <default-value>username</default-value>
-                <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-                <group i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP</group>
-                <order>30</order>
-            </param>
-            <param id="cache.monitoring.datasource.jdbc.passwd" type="password">
-                <label i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_PASSWORD_LABEL</label>
-                <description i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_PASSWORD_DESCRIPTION</description>
-                <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-                <group i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP</group>
-                <order>40</order>
-            </param>
-            
-            <param-checker id="cache.monitoring.datasource.jdbc.checker" class="org.ametys.plugins.core.impl.checker.SqlConnectionChecker">
-                <label i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_CONNECTION_CHECKER_LABEL</label>
-                <description i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_CONNECTION_CHECKER_DESC</description>
-                <icon-large plugin="core-impl">img/config/check/test_sqlconnect_48.png</icon-large>
-                <icon-medium plugin="core-impl">img/config/check/test_sqlconnect_32.png</icon-medium>
-                <icon-small plugin="core-impl">img/config/check/test_sqlconnect_16.png</icon-small>
-                            
-                <ui-ref>
-                    <order>1</order>
-                    <category i18n="true">plugin.core-impl:PLUGINS_CORE_DATASOURCE_CORE_CONFIG_JDBC_CATEGORY_DATASOURCE</category>
-                    <group i18n="true">PLUGINS_WEB_CONFIG_CACHE_MONITORING_DATASOURCE_JDBC_GROUP</group>
-                </ui-ref>
-                
-                <linked-params>
-                    <param-ref id="cache.monitoring.datasource.jdbc.driver"/>
-                    <param-ref id="cache.monitoring.datasource.jdbc.url"/>
-                    <param-ref id="cache.monitoring.datasource.jdbc.user"/>
-                    <param-ref id="cache.monitoring.datasource.jdbc.passwd"/>
-                </linked-params>
-            </param-checker>
         </config>
-        
-        <extensions>
-            <extension point="org.ametys.core.datasource.DataSourceExtensionPoint" 
-                       id="cache.monitoring.datasource"
-                       logger="org.ametys.cache.monitoring.datasource">
-                <driver runtime-config-parameter="cache.monitoring.datasource.jdbc.driver"/>
-                <dburl runtime-config-parameter="cache.monitoring.datasource.jdbc.url"/>
-                <user runtime-config-parameter="cache.monitoring.datasource.jdbc.user"/>
-                <password runtime-config-parameter="cache.monitoring.datasource.jdbc.passwd"/>
-            </extension>
-        </extensions>
     </feature>
     
     <feature name="cache.monitoring.schedulers" depends="cache.monitoring.datasource">
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/Constants.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/Constants.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/Constants.java	(working copy)
@@ -21,8 +21,8 @@
  */
 public interface Constants
 {
-    /** The name of the SQL pool to access monitoring datasource */
-    public static final String MONITORING_DATASOURCE_POOLNAME = "cache.monitoring.datasource";
+    /** The id of the configuration parameter corresponding to the pool to access monitoring datasource */
+    public static final String MONITORING_DATASOURCE_POOL_CONFIG_PARAM = "cache.monitoring.datasource";
 
     /** The name of the table for page resource access */
     public static final String SQL_TABLE_NAME_PAGE_ACCESS = "Cache_RA_Back";
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/access/ResourceAccessComponent.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/access/ResourceAccessComponent.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/access/ResourceAccessComponent.java	(working copy)
@@ -103,7 +103,8 @@
         // Export
         if (!resourcesAccesstoExport.isEmpty())
         {
-            try (Connection connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);)
+            String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+            try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
             {
                 successCount = _fillDatabase(connection, resourcesAccesstoExport);
             }
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/ResourceStatisticsComponent.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/ResourceStatisticsComponent.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/ResourceStatisticsComponent.java	(working copy)
@@ -28,6 +28,7 @@
 import org.joda.time.format.PeriodFormat;
 
 import org.ametys.core.datasource.ConnectionHelper;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.cache.monitoring.process.statistics.impl.FrontFromHTTPServerResourceStatisticsFactory;
 import org.ametys.web.cache.monitoring.process.statistics.impl.FrontOnlyResourceStatisticsFactory;
@@ -56,11 +57,9 @@
         long start = System.currentTimeMillis();
         int totalUpdated = 0;
 
-        Connection connection = null;
-        
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             
             totalUpdated += _update(connection, "page", PageResourceStatisticsFactory.getInstance());
             totalUpdated += _update(connection, "pageElements", PageElementResourceStatisticsFactory.getInstance());
@@ -72,10 +71,6 @@
         {
             getLogger().error("Exception during update cache stats", e);
         }
-        finally
-        {
-            ConnectionHelper.cleanup(connection);
-        }
         
         if (getLogger().isDebugEnabled())
         {
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontFromHTTPServerResourceStatisticsFactory.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontFromHTTPServerResourceStatisticsFactory.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontFromHTTPServerResourceStatisticsFactory.java	(working copy)
@@ -31,6 +31,7 @@
 import org.slf4j.LoggerFactory;
 
 import org.ametys.core.datasource.ConnectionHelper;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatistics;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatisticsFactory;
@@ -68,9 +69,10 @@
         // of the 2nd query.
         List<ResourceStatistics> resourceStatisticsList = new ArrayList<>();
         List<Map<String, Object>> rawResourceList = new ArrayList<>();
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
         
         // First query.
-        try (Connection connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);
              PreparedStatement stmt = connection.prepareStatement("SELECT count(*) AS \"increment\", S.Site AS \"S_Site\", S.Path_Hash AS \"S_Path_Hash\", S.Cache_Hit AS \"S_Cache_Hit\","
                      + " F.Site AS \"F_Site\", F.Ametys_Path_Hash AS \"F_Ametys_Path_Hash\", F.Cacheable AS \"F_Cacheable\", F.Cache_Hit_1 AS \"F_Cache_Hit_1\", F.Cache_Hit_2 AS \"F_Cache_Hit_2\""
                      + " FROM " + Constants.SQL_TABLE_NAME_FRONT_ACCESS + " F"
@@ -97,7 +99,7 @@
         }
 
         // Second query.
-        try (Connection connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);
              PreparedStatement stmt = connection.prepareStatement("SELECT S.Path AS \"S_Path\", S.Path_Hash AS \"S_Path_Hash\", F.Ametys_Path AS \"F_Ametys_Path\", F.Ametys_Path_Hash AS \"F_Ametys_Path_Hash\""
                  + " FROM " + Constants.SQL_TABLE_NAME_FRONT_ACCESS + " F"
                  + " INNER JOIN " + Constants.SQL_TABLE_NAME_HTTPSERVER_ACCESS + " S ON F.Unique_Id = S.Unique_Id AND F.Processed = 0 AND (S.Ori_Status_Code = '200' OR S.Ori_Status_Code = '304')"
@@ -152,7 +154,8 @@
     @Override
     public int markResourcesAsProcessed() throws SQLException
     {
-        try (Connection connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);
              Statement stmt = connection.createStatement();
              Statement stmt2 = connection.createStatement();)
         {
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontOnlyResourceStatisticsFactory.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontOnlyResourceStatisticsFactory.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontOnlyResourceStatisticsFactory.java	(working copy)
@@ -30,6 +30,7 @@
 import org.apache.commons.lang.BooleanUtils;
 
 import org.ametys.core.datasource.ConnectionHelper;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatistics;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatisticsFactory;
@@ -65,9 +66,10 @@
         // of the 2nd query.
         List<ResourceStatistics> resourceStatisticsList = new ArrayList<>();
         List<Map<String, Object>> rawResourceList = new ArrayList<>();
-
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        
         // First query.
-        try (Connection connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);
              PreparedStatement stmt = connection.prepareStatement("SELECT count(*) AS \"increment\", Site, Ametys_Path_Hash, Cacheable, Cache_Hit_1, Cache_Hit_2 FROM " + Constants.SQL_TABLE_NAME_FRONT_ACCESS + " WHERE PROCESSED = 0 AND Unique_Id = '-' GROUP BY Site, Ametys_Path_Hash, Cacheable, Cache_Hit_1, Cache_Hit_2");
              ResultSet resultSet = stmt.executeQuery();)
         {
@@ -87,7 +89,7 @@
         }
         
         // Second query.
-        try (Connection connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);
              PreparedStatement stmt = connection.prepareStatement("SELECT Ametys_Path, Ametys_Path_Hash FROM " + Constants.SQL_TABLE_NAME_FRONT_ACCESS + " WHERE PROCESSED = 0 AND Unique_Id = '-' ORDER BY Created_At DESC");
              ResultSet resultSet = stmt.executeQuery();)
         {
@@ -127,29 +129,28 @@
     @Override
     public int markResourcesAsProcessed() throws SQLException
     {
-        Connection connection = null;
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
         Statement stmt = null;
-        try 
+        
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.createStatement();
             return stmt.executeUpdate("UPDATE " + Constants.SQL_TABLE_NAME_FRONT_ACCESS + " SET PROCESSED = 1 WHERE Processed = 0 AND Unique_Id = '-'");
         }
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int purgeRawData() throws SQLException
     {
-        Connection connection = null;
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
         PreparedStatement stmt = null;
-        try
+        
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.prepareStatement("DELETE FROM " + Constants.SQL_TABLE_NAME_FRONT_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?");
             
             Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
@@ -160,7 +161,6 @@
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
 }
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/HTTPServerOnlyResourceStatisticsFactory.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/HTTPServerOnlyResourceStatisticsFactory.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/HTTPServerOnlyResourceStatisticsFactory.java	(working copy)
@@ -30,6 +30,7 @@
 import org.apache.commons.lang.BooleanUtils;
 
 import org.ametys.core.datasource.ConnectionHelper;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatistics;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatisticsFactory;
@@ -66,13 +67,12 @@
         List<ResourceStatistics> resourceStatisticsList = new ArrayList<>();
         List<Map<String, Object>> rawResourceList = new ArrayList<>();
         
-        Connection connection = null;
         PreparedStatement stmt = null;
         ResultSet resultSet = null;
-        try
+        
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
-            
             // First query.
             stmt = connection.prepareStatement("SELECT count(*) AS \"increment\", Site, Path_Hash, Cache_Hit FROM " + Constants.SQL_TABLE_NAME_HTTPSERVER_ACCESS + " WHERE PROCESSED = 0 AND Cache_Hit = 1 AND (Ori_Status_Code = '200' OR Ori_Status_Code = '304') GROUP BY Site, Path_Hash, Cache_Hit");
             resultSet = stmt.executeQuery();
@@ -127,36 +127,32 @@
         {
             ConnectionHelper.cleanup(resultSet);
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int markResourcesAsProcessed() throws SQLException
     {
-        Connection connection = null;
         Statement stmt = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.createStatement();
             return stmt.executeUpdate("UPDATE " + Constants.SQL_TABLE_NAME_HTTPSERVER_ACCESS + " SET Processed = 1 WHERE Processed = 0 AND Cache_Hit = 1 AND (Ori_Status_Code = '200' OR Ori_Status_Code = '304')");
         }
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int purgeRawData() throws SQLException
     {
-        Connection connection = null;
         PreparedStatement stmt = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.prepareStatement("DELETE FROM " + Constants.SQL_TABLE_NAME_HTTPSERVER_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?");
             
             Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
@@ -167,7 +163,6 @@
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
 }
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageElementResourceStatisticsFactory.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageElementResourceStatisticsFactory.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageElementResourceStatisticsFactory.java	(working copy)
@@ -28,6 +28,7 @@
 import org.apache.commons.lang.BooleanUtils;
 
 import org.ametys.core.datasource.ConnectionHelper;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatistics;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatisticsFactory;
@@ -58,12 +59,11 @@
     {
         List<ResourceStatistics> resourceStatisticsList = new ArrayList<>();
         
-        Connection connection = null;
         PreparedStatement stmt = null;
         ResultSet resultSet = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.prepareStatement("SELECT count(*) AS \"increment\", Page_Element_Id, Page_Id, Rendering_Context, Workspace_JCR, Cacheable, Cache_Hit FROM " + Constants.SQL_TABLE_NAME_PAGE_ELEMENTS_ACCESS + " WHERE PROCESSED = 0 GROUP BY Page_Element_Id, Page_Id, Rendering_Context, Workspace_JCR, Cacheable, Cache_Hit");
             resultSet = stmt.executeQuery();
             
@@ -86,36 +86,32 @@
         {
             ConnectionHelper.cleanup(resultSet);
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int markResourcesAsProcessed() throws SQLException
     {
-        Connection connection = null;
         Statement stmt = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.createStatement();
             return stmt.executeUpdate("UPDATE " + Constants.SQL_TABLE_NAME_PAGE_ELEMENTS_ACCESS + " SET PROCESSED = 1 WHERE Processed = 0");
         }
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int purgeRawData() throws SQLException
     {
-        Connection connection = null;
         PreparedStatement stmt = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.prepareStatement("DELETE FROM " + Constants.SQL_TABLE_NAME_PAGE_ELEMENTS_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?");
             
             Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
@@ -126,7 +122,6 @@
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
 }
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageResourceStatisticsFactory.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageResourceStatisticsFactory.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageResourceStatisticsFactory.java	(working copy)
@@ -30,6 +30,7 @@
 import org.apache.commons.lang.BooleanUtils;
 
 import org.ametys.core.datasource.ConnectionHelper;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatistics;
 import org.ametys.web.cache.monitoring.process.statistics.ResourceStatisticsFactory;
@@ -66,13 +67,11 @@
         List<ResourceStatistics> resourceStatisticsList = new ArrayList<>();
         List<Map<String, Object>> rawResourceList = new ArrayList<>();
         
-        Connection connection = null;
         PreparedStatement stmt = null;
         ResultSet resultSet = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
-            
             // First query.
             stmt = connection.prepareStatement("SELECT count(*) AS \"increment\", Page_Id, Rendering_Context, Workspace_JCR, Cacheable FROM " + Constants.SQL_TABLE_NAME_PAGE_ACCESS + " WHERE PROCESSED = 0 GROUP BY Page_Id, Rendering_Context, Workspace_JCR, Cacheable");
             resultSet = stmt.executeQuery();
@@ -133,36 +132,32 @@
         {
             ConnectionHelper.cleanup(resultSet);
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int markResourcesAsProcessed() throws SQLException
     {
-        Connection connection = null;
         Statement stmt = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.createStatement();
             return stmt.executeUpdate("UPDATE " + Constants.SQL_TABLE_NAME_PAGE_ACCESS + " SET PROCESSED = 1 WHERE Processed = 0");
         }
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
     
     @Override
     public int purgeRawData() throws SQLException
     {
-        Connection connection = null;
         PreparedStatement stmt = null;
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             stmt = connection.prepareStatement("DELETE FROM " + Constants.SQL_TABLE_NAME_PAGE_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?");
             
             Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
@@ -173,7 +168,6 @@
         finally
         {
             ConnectionHelper.cleanup(stmt);
-            ConnectionHelper.cleanup(connection);
         }
     }
 }
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/ui/PageElementCacheStatsGenerator.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/ui/PageElementCacheStatsGenerator.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/ui/PageElementCacheStatsGenerator.java	(working copy)
@@ -47,6 +47,7 @@
 import org.ametys.plugins.repository.AmetysObjectIterable;
 import org.ametys.plugins.repository.AmetysRepositoryException;
 import org.ametys.plugins.repository.UnknownAmetysObjectException;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.inputdata.InputDataExtensionPoint;
 import org.ametys.web.repository.page.Page;
@@ -150,16 +151,14 @@
      */
     private void _initializePECacheStats() throws ProcessingException
     {
-        Connection conn = null;
         Statement st = null;
         ResultSet rs = null;
-        
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            conn = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
             
             String sql = _getPECacheStatsQuery();
-            st = conn.createStatement();
+            st = connection.createStatement();
             rs = st.executeQuery(sql);
             
             _processCacheStatsResultSet(rs);
@@ -174,7 +173,6 @@
         {
             ConnectionHelper.cleanup(rs);
             ConnectionHelper.cleanup(st);
-            ConnectionHelper.cleanup(conn);
         }
     }
     
Index: main/plugin-web/src/org/ametys/web/cache/monitoring/ui/ServersCacheStatsGenerator.java
===================================================================
--- main/plugin-web/src/org/ametys/web/cache/monitoring/ui/ServersCacheStatsGenerator.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/cache/monitoring/ui/ServersCacheStatsGenerator.java	(working copy)
@@ -47,6 +47,7 @@
 
 import org.ametys.core.datasource.ConnectionHelper;
 import org.ametys.plugins.repository.UnknownAmetysObjectException;
+import org.ametys.runtime.config.Config;
 import org.ametys.web.cache.monitoring.Constants;
 import org.ametys.web.repository.site.Site;
 import org.ametys.web.repository.site.SiteManager;
@@ -181,17 +182,15 @@
      */
     private List<RawStatsEntry> _getStatsFromDb(String siteName) throws ProcessingException
     {
-        Connection conn = null;
         PreparedStatement ps = null;
         ResultSet rs = null;
-
-        try
+        String dataSourceId = Config.getInstance().getValueAsString(Constants.MONITORING_DATASOURCE_POOL_CONFIG_PARAM);
+        try (Connection connection = ConnectionHelper.getConnection(dataSourceId);)
         {
-            conn = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME);
 
             String sql = _getStatsQuery();
 
-            ps = conn.prepareStatement(sql);
+            ps = connection.prepareStatement(sql);
             ps.setString(1, siteName);
             ps.setString(2, siteName);
 
@@ -209,7 +208,6 @@
         {
             ConnectionHelper.cleanup(rs);
             ConnectionHelper.cleanup(ps);
-            ConnectionHelper.cleanup(conn);
         }
     }
 
Index: main/plugin-web/src/org/ametys/web/usermanagement/UserSignupManager.java
===================================================================
--- main/plugin-web/src/org/ametys/web/usermanagement/UserSignupManager.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/usermanagement/UserSignupManager.java	(working copy)
@@ -54,6 +54,7 @@
 import org.ametys.plugins.repository.AmetysObjectResolver;
 import org.ametys.plugins.repository.query.expression.Expression;
 import org.ametys.plugins.repository.query.expression.Expression.Operator;
+import org.ametys.runtime.config.Config;
 import org.ametys.runtime.i18n.I18nizableText;
 import org.ametys.runtime.parameter.Errors;
 import org.ametys.web.repository.page.Page;
@@ -117,8 +118,8 @@
     /** The i18n utils. */
     protected I18nUtils _i18nUtils;
 
-    /** The database pool. */
-    protected String _pool;
+    /** The id of the data source. */
+    protected String _dataSourceId;
 
     /** The temporary users table. */
     protected String _tempUsersTable;
@@ -141,7 +142,8 @@
     public void configure(Configuration configuration) throws ConfigurationException
     {
         // Configure pool and tables.
-        _pool = configuration.getChild("pool").getValue();
+        String pool = configuration.getChild("pool").getValue();
+        _dataSourceId = Config.getInstance().getValueAsString(pool);
         _tempUsersTable = configuration.getChild("temp-users-table").getValue();
         _pwdChangeTable = configuration.getChild("pwd-change-table").getValue();
     }
@@ -573,7 +575,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -637,7 +639,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -694,7 +696,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -732,7 +734,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -790,7 +792,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -931,7 +933,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -975,7 +977,7 @@
 
         try 
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             Timestamp now = new Timestamp(System.currentTimeMillis());
 
@@ -1074,7 +1076,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -1145,7 +1147,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
@@ -1185,7 +1187,7 @@
 
         try
         {
-            conn = ConnectionHelper.getConnection(_pool);
+            conn = ConnectionHelper.getConnection(_dataSourceId);
 
             StringBuilder sql = new StringBuilder();
 
Index: main/plugin-web/src/org/ametys/web/userpref/FOUsersManagerUserPreferencesStorage.java
===================================================================
--- main/plugin-web/src/org/ametys/web/userpref/FOUsersManagerUserPreferencesStorage.java	(revision 38969)
+++ main/plugin-web/src/org/ametys/web/userpref/FOUsersManagerUserPreferencesStorage.java	(working copy)
@@ -42,7 +42,7 @@
     public void configure(Configuration configuration) throws ConfigurationException
     {
         // Default values for FOUsers table.
-        _poolName = configuration.getChild("pool").getValue(ConnectionHelper.CORE_POOL_NAME);
+        _poolConfigParam = configuration.getChild("pool").getValue(ConnectionHelper.CORE_POOL_CONFIG_PARAM);
         _databaseTable = configuration.getChild("table").getValue("FOUsers");
         _loginColumn = configuration.getChild("loginColumn").getValue("login");
         _contextColumn = configuration.getChild("contextColumn").getValue(null);
