Index: dev/dev-mode-enter-full.xml
===================================================================
--- dev/dev-mode-enter-full.xml	(revision 39297)
+++ dev/dev-mode-enter-full.xml	(working copy)
@@ -39,6 +39,7 @@
         <antcall target="create-link"><param name="new-link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/contentio"/>         <param name="original-dir" location="${ametys-root-dir}/plugins/contentio/1.x/main/plugin-contentio"/></antcall>
 		<antcall target="create-link"><param name="new-link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/mypage"/>				<param name="original-dir" location="${ametys-root-dir}/plugins/mypage/1.x/main/plugin-mypage"/></antcall>
 		<antcall target="create-link"><param name="new-link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/proxied-content"/>			<param name="original-dir" location="${ametys-root-dir}/plugins/proxied-content/1.x/main/plugin-proxied-content"/></antcall>
+        <antcall target="create-link"><param name="new-link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/user-directory"/>          <param name="original-dir" location="${ametys-root-dir}/plugins/user-directory/trunk/main/plugin-user-directory"/></antcall>
 
 		<antcall target="create-link"><param name="new-link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/odf"/>				<param name="original-dir" location="${ametys-root-dir}/plugins/odf/trunk/main/plugin-odf"/></antcall>
 		<antcall target="create-link"><param name="new-link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/odf-sync"/>		<param name="original-dir" location="${ametys-root-dir}/plugins/odf_sync/trunk/main/plugin-odf-sync"/></antcall>
@@ -61,7 +62,8 @@
                 &lt;classpathentry kind="src" path="webapp/cms/plugins/contentio/src"/&gt;
 			    &lt;classpathentry kind="src" path="webapp/cms/plugins/proxied-content/src"/&gt;
 				&lt;classpathentry kind="src" path="webapp/cms/plugins/mypage/src"/&gt;
-				&lt;classpathentry kind="src" path="webapp/cms/plugins/odf/src"/&gt;
+			    &lt;classpathentry kind="src" path="webapp/cms/plugins/user-directory/src"/&gt;
+                &lt;classpathentry kind="src" path="webapp/cms/plugins/odf/src"/&gt;
 				&lt;classpathentry kind="src" path="webapp/cms/plugins/odf-sync/src"/&gt;
 				&lt;classpathentry kind="src" path="webapp/cms/plugins/odf-web/src"/&gt;
 		</echo>
Index: dev/dev-mode-leave-full.xml
===================================================================
--- dev/dev-mode-leave-full.xml	(revision 39297)
+++ dev/dev-mode-leave-full.xml	(working copy)
@@ -31,11 +31,10 @@
 	</target>
 	
 	<target name="remove-links-full-back">
-        <antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/blog"/></antcall>
         <antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/contentio"/></antcall>
 		<antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/proxied-content"/></antcall>
 		<antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/mypage"/></antcall>
-		<antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/sms"/></antcall>
+        <antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/user-directory"/></antcall>
 
 		<antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/odf"/></antcall>
 		<antcall target="remove-link"><param name="link" location="${ametys-root-dir}/templates/CMSWEB/3.8.x/webapp/cms/plugins/odf-sync"/></antcall>
Index: webapp/cms/skins/demo/conf/tags.xml
===================================================================
--- webapp/cms/skins/demo/conf/tags.xml	(revision 39297)
+++ webapp/cms/skins/demo/conf/tags.xml	(working copy)
@@ -23,10 +23,6 @@
 			<label i18n="true">SKIN_BO_TAG_SPECIALPAGES_TAG_FOOTERLINK_LABEL</label>
 			<description i18n="true">SKIN_BO_TAG_SPECIALPAGES_TAG_FOOTERLINK_DESCRIPTION</description>
 		</tag>
-		<tag id="INVISIBLE" target="PAGE" private="true">
-			<label i18n="true">SKIN_BO_TAG_SPECIALPAGES_TAG_HIDDEN_LABEL</label>
-			<description i18n="true">SKIN_BO_TAG_SPECIALPAGES_TAG_HIDDEN_DESCRIPTION</description>
-		</tag>						
 		<tag id="SEARCH" target="PAGE" private="true">
 			<label i18n="true">SKIN_BO_TAG_SPECIALPAGES_TAG_SEARCH_LABEL</label>
 			<description i18n="true">SKIN_BO_TAG_SPECIALPAGES_TAG_SEARCH_DESCRIPTION</description>
Index: webapp/cms/skins/demo/i18n/messages.xml
===================================================================
--- webapp/cms/skins/demo/i18n/messages.xml	(revision 39297)
+++ webapp/cms/skins/demo/i18n/messages.xml	(working copy)
@@ -427,8 +427,6 @@
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_NEWSLETTER_MAIN_DESCRIPTION">(Unique) page using the main newsletter subscription service. Tagging a (level 1 or 2) page will show a bloc in the skin for subscriptions.</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_DIRECTACCESS_LABEL">Direct access</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_DIRECTACCESS_DESCRIPTION">A page with this tag will appear in the Direct access section of the skin</message>
-	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_HIDDEN_LABEL">Hidden pages</message>
-	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_HIDDEN_DESCRIPTION"></message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_SEARCH_LABEL">Search page</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_SEARCH_DESCRIPTION">The search engine in the skin will post the page having this tag. This page have to use the search engine service.</message>
 	<message key="SKIN_BO_TAGS_TAG_MAINSECTION_LABEL">Main section</message>
Index: webapp/cms/skins/demo/i18n/messages_fr.xml
===================================================================
--- webapp/cms/skins/demo/i18n/messages_fr.xml	(revision 39297)
+++ webapp/cms/skins/demo/i18n/messages_fr.xml	(working copy)
@@ -428,8 +428,6 @@
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_NEWSLETTER_MAIN_DESCRIPTION">Page (unique) contenant le service d'inscription à la newsletter principale. Etiquetter une page (de niveau 1 ou 2) fera apparaitre un bloc dans la charte pour s'inscrire.</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_DIRECTACCESS_LABEL">Accès directs</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_DIRECTACCESS_DESCRIPTION">Une page avec cette étiquette sera affichée dans la partie Accès directs de la charte graphique</message>
-	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_HIDDEN_LABEL">Pages cachées</message>
-	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_HIDDEN_DESCRIPTION">Pages n'apparaissant pas dans la navigation</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_SEARCH_LABEL">Page de recherche</message>
 	<message key="SKIN_BO_TAG_SPECIALPAGES_TAG_SEARCH_DESCRIPTION">Le moteur de recherche de la charte renverra sur la page portant cette étiquette. Cette page doit utiliser le service de moteur de recherche.</message>
 	<message key="SKIN_BO_TAGS_TAG_MAINSECTION_LABEL">Rubrique principale</message>
Index: webapp/cms/skins/demo/resources/css/services/user-directory.css
===================================================================
--- webapp/cms/skins/demo/resources/css/services/user-directory.css	(revision 0)
+++ webapp/cms/skins/demo/resources/css/services/user-directory.css	(revision 0)
@@ -0,0 +1,104 @@
+/*
+ *  Copyright 2016 Anyware Services
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+/* DATA */
+.user-directory table.data {
+    border-width: 1px;
+    border-style: solid;
+    border-color: #95499C;
+    border-collapse: collapse;
+    margin: 1px;
+    width: 100%;
+    margin-bottom: 10px;
+}
+.user-directory table.data > tbody > tr.even {
+    background-image: url('../../img/services/even.png');
+}
+.user-directory table.data > tbody > tr > th,
+.user-directory table.data > tbody > tr > td {
+    border-width: 1px;
+    border-style: solid;
+    border-color: #95499C;
+}
+.user-directory table.data > tbody > tr > th {
+    font-weight: bold;
+    text-align: center;
+    background-image: url('../../img/services/important.png');
+}
+
+.user-directory table.data > tbody > tr.even {
+  background-image: url('../../img/services/even.png');
+}
+
+.user-directory table.data tr th {
+  text-align: center;
+  vertical-align: middle;
+  padding: 7px;
+}
+
+.user-directory table.data td {
+  padding: 5px;
+}
+
+/* Result */
+.user-directory .results ul li.person
+{
+    position: relative;
+    margin: 10px 0 10px 0;
+    border-top: 1px solid #DFDFDF;
+}
+
+.user-directory .results ul li.person:hover div.attribute
+{
+    display: block;
+}
+
+.user-directory .results ul li.person div.attribute.email
+{
+    display: block !important;
+    text-align: right;
+}
+
+.user-directory .results ul li.person div.attribute span
+{
+    font-weight: bold;
+    text-align: right;
+    padding-right: 5px;
+}
+
+.user-directory .results ul li.person div.attribute
+{
+    clear: left;
+    margin-bottom: 3px;
+    margin-left: 50px;
+}
+.user-directory .results ul li.person .title-user
+{
+    margin-bottom: 3px;
+    margin-left: 50px;
+}
+.user-directory .results ul li.person .title-user a
+{
+    font-size: 15px;
+    font-weight: bold;
+}
+
+.user-directory .results .title
+{
+    font-size: 1.8em;
+    color: #95499C;
+    margin-bottom: 5px;
+}
Index: webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/external-search/external_search.xsl
===================================================================
--- webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/external-search/external_search.xsl	(revision 0)
+++ webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/external-search/external_search.xsl	(revision 0)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright 2016 Anyware Services
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   -->
+<xsl:stylesheet version="1.0" 
+				xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+				xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+				xmlns:math="http://exslt.org/math" 
+				xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper"
+				extension-element-prefixes="math ametys">
+				
+	<xsl:import href="plugin:user-directory://pages/services/user-directory/external-search/external_search.xsl"/>   
+    
+    <!-- Used in common.xsl -->
+    <xsl:template name="common-service-head-css">
+        <link rel="stylesheet" type="text/css" href="{ametys:skinURL('css/services/user-directory.css')}" media="screen, print, handheld"/>    
+        <link type="text/css" rel="stylesheet" href="{ametys:skinURL('css/pagination.css')}" media="screen, print, handheld"/>  
+    </xsl:template>
+</xsl:stylesheet>
Index: webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/search/search.xsl
===================================================================
--- webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/search/search.xsl	(revision 0)
+++ webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/search/search.xsl	(revision 0)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright 2016 Anyware Services
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   -->
+<xsl:stylesheet version="1.0" 
+                xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:math="http://exslt.org/math" 
+                xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper"
+                extension-element-prefixes="math ametys">
+				
+	<xsl:import href="plugin:user-directory://pages/services/user-directory/search/search.xsl"/>   
+    
+    <!-- Used in common.xsl -->
+    <xsl:template name="common-service-head-css">
+        <link rel="stylesheet" type="text/css" href="{ametys:skinURL('css/services/user-directory.css')}" media="screen, print, handheld"/>    
+        <link type="text/css" rel="stylesheet" href="{ametys:skinURL('css/pagination.css')}" media="screen, print, handheld"/>  
+    </xsl:template>
+    
+</xsl:stylesheet>
Index: webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/search/search_table.xsl
===================================================================
--- webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/search/search_table.xsl	(revision 0)
+++ webapp/cms/skins/demo/services/user-directory/pages/services/user-directory/search/search_table.xsl	(revision 0)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright 2016 Anyware Services
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   -->
+<xsl:stylesheet version="1.0" 
+				xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+				xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+				xmlns:math="http://exslt.org/math" 
+				xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper"
+				extension-element-prefixes="math ametys">
+				
+	<xsl:import href="plugin:user-directory://pages/services/user-directory/search/search_table.xsl"/>   
+    
+    <!-- Used in common.xsl -->
+    <xsl:template name="common-service-head-css">
+        <link rel="stylesheet" type="text/css" href="{ametys:skinURL('css/services/user-directory.css')}" media="screen, print, handheld"/>
+        <link type="text/css" rel="stylesheet" href="{ametys:skinURL('css/pagination.css')}" media="screen, print, handheld"/>  
+    </xsl:template>
+</xsl:stylesheet>
Index: webapp/cms/skins/demo/services/web/pages/services/sitemap/sitemap_3.3.xsl
===================================================================
--- webapp/cms/skins/demo/services/web/pages/services/sitemap/sitemap_3.3.xsl	(revision 39297)
+++ webapp/cms/skins/demo/services/web/pages/services/sitemap/sitemap_3.3.xsl	(working copy)
@@ -31,7 +31,7 @@
     <xsl:template name="page-list">
         <xsl:if test="/sitemap/page">
             <ul id="{$id}">
-                <xsl:apply-templates select="/sitemap/page[not(@PLUGIN_TAGS_INVISIBLE)]"/>
+                <xsl:apply-templates select="/sitemap/page"/>
             </ul>
         </xsl:if>    
     </xsl:template>
@@ -42,11 +42,9 @@
 			     <xsl:value-of select="@title"/>
 			</a>
 		     <xsl:if test="@restricted = 'true'"><img style="margin-right: 5px;" src="{ametys:skinURL('img/lock.png')}" alt="skin.{$skin}:SKIN_MENU_PRIVATE" i18n:attr="alt"/></xsl:if>
-			<xsl:if test="page[not(@PLUGIN_TAGS_INVISIBLE)]">
-				<ul>
-					<xsl:apply-templates select="page[not(@PLUGIN_TAGS_INVISIBLE)]"/>
-				</ul>
-			</xsl:if>
+			<ul>
+				<xsl:apply-templates select="page"/>
+			</ul>
 		</li>
 	</xsl:template>
 		
Index: webapp/cms/skins/demo/stylesheets/menus.xsl
===================================================================
--- webapp/cms/skins/demo/stylesheets/menus.xsl	(revision 39297)
+++ webapp/cms/skins/demo/stylesheets/menus.xsl	(working copy)
@@ -29,14 +29,14 @@
 		<xsl:param name="levels">false</xsl:param>
 
 		<xsl:variable name="indexPart" select="/cms/inputData/sitemap/page[@sitemap:name = 'index']"/>
-		<xsl:variable name="sectionPart" select="/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION and not(@PLUGIN_TAGS_INVISIBLE)]"/>
+		<xsl:variable name="sectionPart" select="/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION]"/>
 	
 		<xsl:if test="$indexPart or $sectionPart">
 			<a name="menu"></a>
 			<ul class="art-hmenu">
 				<xsl:if test="$indexPart">
 					<li>
-						<xsl:if test="not(/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION and not(@PLUGIN_TAGS_INVISIBLE)])"><xsl:attribute name="class">last</xsl:attribute></xsl:if>
+						<xsl:if test="not(/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION])"><xsl:attribute name="class">last</xsl:attribute></xsl:if>
 						
 						<a href="{$site-uri-prefix}/{$lang}/index.html">
 							<xsl:if test="/cms/inputData/sitemap/page[@sitemap:name = 'index' and @sitemap:in-path = 'true']">
@@ -67,18 +67,18 @@
 							     <xsl:value-of select="@sitemap:title" />
 							</span>
 						</a>		
-						<xsl:if test="$levels = 'true' and page[@PLUGIN_TAGS_SUBSECTION and not(@PLUGIN_TAGS_INVISIBLE)]">
+						<xsl:if test="$levels = 'true' and page[@PLUGIN_TAGS_SUBSECTION]">
 							 <ul>
-							 	<xsl:for-each select="page[@PLUGIN_TAGS_SUBSECTION and not(@PLUGIN_TAGS_INVISIBLE)]">
+							 	<xsl:for-each select="page[@PLUGIN_TAGS_SUBSECTION]">
 								 	<li>
 								 		<a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html">
                                             <xsl:if test="@sitemap:restricted = 'true'"><img style="margin-right: 5px;" src="{ametys:skinURL('img/lock.png')}" alt="skin.{$skin}:SKIN_MENU_PRIVATE" i18n:attr="alt"/></xsl:if>
 								 			<xsl:value-of select="@sitemap:title" />
 								 		</a>
 
-										<xsl:if test="$conf-menu-morelevels = 'true' and page[not(@PLUGIN_TAGS_INVISIBLE)]">
+										<xsl:if test="$conf-menu-morelevels = 'true'">
 											 <ul>
-											 	<xsl:for-each select="page[not(@PLUGIN_TAGS_INVISIBLE)]">
+											 	<xsl:for-each select="page">
 												 	<li>
 												 		<a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html">
                                                             <xsl:if test="@sitemap:restricted = 'true'"><img style="margin-right: 5px;" src="{ametys:skinURL('img/lock.png')}" alt="skin.{$skin}:SKIN_MENU_PRIVATE" i18n:attr="alt"/></xsl:if>
@@ -102,7 +102,7 @@
 	     | FOOTER MENU
 	     + -->
 	<xsl:template name="footer-menu">
-		<xsl:if test="/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION and not(@PLUGIN_TAGS_INVISIBLE)]">
+		<xsl:if test="/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION]">
 			<ul class="footer-primary">
 				<xsl:if test="/cms/inputData/sitemap/page[@sitemap:name = 'index']">
 					<li class="first">
@@ -116,7 +116,7 @@
 					</li>
 				</xsl:if>
 	
-				<xsl:for-each select="/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION and not(@PLUGIN_TAGS_INVISIBLE)]">
+				<xsl:for-each select="/cms/inputData/sitemap/page[@PLUGIN_TAGS_SECTION]">
 					<li>
 						<xsl:attribute name="class"><xsl:if test="position() = last()">last</xsl:if><xsl:text> </xsl:text><xsl:if test="position() = 1 and not(/cms/inputData/sitemap/page[@sitemap:name = 'index'])">first</xsl:if></xsl:attribute>
 				 		<a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html">
@@ -153,7 +153,7 @@
 	<!-- +
 	     | VERTICAL MENU
 	     + -->
-	<xsl:variable name="menu-vertical-node" select="/cms/inputData/sitemap/page[@sitemap:in-path = 'true']/page[(not(../@PLUGIN_TAGS_SECTION) or @PLUGIN_TAGS_SUBSECTION) and not(@PLUGIN_TAGS_INVISIBLE)]"/>
+	<xsl:variable name="menu-vertical-node" select="/cms/inputData/sitemap/page[@sitemap:in-path = 'true']/page[(not(../@PLUGIN_TAGS_SECTION) or @PLUGIN_TAGS_SUBSECTION)]"/>
 	<xsl:template name="menu-vertical">
 		<xsl:param name="name"/>
 		<xsl:param name="levels">false</xsl:param><!-- avec des sous-niveaux -->
@@ -176,12 +176,12 @@
 							</span>
 						</a>
 						
-						<xsl:if test="$levels = 'true' and (@sitemap:in-path = 'true' or $simple = 'false') and page[not(@PLUGIN_TAGS_INVISIBLE)]">
+						<xsl:if test="$levels = 'true' and (@sitemap:in-path = 'true' or $simple = 'false')">
 							<ul>
-								<xsl:if test="page[not(@PLUGIN_TAGS_INVISIBLE) and @sitemap:in-path = 'true']">
+								<xsl:if test="page[@sitemap:in-path = 'true']">
 									<xsl:attribute name="class">active</xsl:attribute>
 								</xsl:if>
-								<xsl:for-each select="page[not(@PLUGIN_TAGS_INVISIBLE)]">
+								<xsl:for-each select="page">
 									<li>
 										<a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html">
 											<xsl:if test="@sitemap:in-path = 'true'"><xsl:attribute name="class">active</xsl:attribute></xsl:if>
@@ -189,10 +189,10 @@
 											<xsl:value-of select="@sitemap:title" />
 										</a>
 	
-										<xsl:if test="@sitemap:in-path = 'true' and page[not(@PLUGIN_TAGS_INVISIBLE)]">
+										<xsl:if test="@sitemap:in-path = 'true'">
 											<ul>
-												<xsl:if test="page[not(@PLUGIN_TAGS_INVISIBLE) and @sitemap:in-path = 'true']"><xsl:attribute name="class">active</xsl:attribute></xsl:if>
-												<xsl:for-each select="page[not(@PLUGIN_TAGS_INVISIBLE)]">
+												<xsl:if test="page[@sitemap:in-path = 'true']"><xsl:attribute name="class">active</xsl:attribute></xsl:if>
+												<xsl:for-each select="page">
 													<li>
 														<a href="{$site-uri-prefix}/{$lang}/{@sitemap:path}.html">
 															<xsl:if test="@sitemap:in-path = 'true'"><xsl:attribute name="class">active</xsl:attribute></xsl:if>
