Index: main/plugin-web/src/org/ametys/web/filter/PageFilterHelper.java
===================================================================
--- main/plugin-web/src/org/ametys/web/filter/PageFilterHelper.java	(revision 28418)
+++ main/plugin-web/src/org/ametys/web/filter/PageFilterHelper.java	(working copy)
@@ -37,6 +37,8 @@
 import org.ametys.web.pageaccess.PageAccessInfo;
 import org.ametys.web.pageaccess.PageAccessManager;
 import org.ametys.web.pageaccess.RestrictedPagePolicy;
+import org.ametys.web.renderingcontext.RenderingContext;
+import org.ametys.web.renderingcontext.RenderingContextHandler;
 import org.ametys.web.repository.page.Page;
 
 /**
@@ -50,10 +52,13 @@
     protected PageAccessManager _accessManager;
     /** The component context. */
     protected Context _context;
+    /** The rendering context handler. */
+    protected RenderingContextHandler _renderingContextHandler;
     
     public void service(ServiceManager manager) throws ServiceException
     {
         _accessManager = (PageAccessManager) manager.lookup(PageAccessManager.ROLE);
+        _renderingContextHandler = (RenderingContextHandler) manager.lookup(RenderingContextHandler.ROLE);
     }
     
     @Override
@@ -76,13 +81,16 @@
     {
         RestrictedPagePolicy policy = currentPage.getSite().getRestrictedPagePolicy();
         AmetysObjectIterable<Page> pages = filter.getMatchingPages(siteName, lang, currentPage);
+        RenderingContext currentContext = _renderingContextHandler.getRenderingContext();
         
         int index = 0;
         while (pages.hasNext() && index < filter.getLength())
         {
             Page page = pages.next();
             
-            if (policy == RestrictedPagePolicy.DISPLAYED || isPageAccessible(page))
+            // In back-office or in preview or live mode, access is always granted.
+            if (currentContext == RenderingContext.BACK || currentContext == RenderingContext.PREVIEW 
+                    || policy == RestrictedPagePolicy.DISPLAYED || isPageAccessible(page))
             {
                 saxPage(handler, page);
                 index++;
Index: main/plugin-web/src/org/ametys/web/tags/inputdata/FilteredPagesInputData.java
===================================================================
--- main/plugin-web/src/org/ametys/web/tags/inputdata/FilteredPagesInputData.java	(revision 28418)
+++ main/plugin-web/src/org/ametys/web/tags/inputdata/FilteredPagesInputData.java	(working copy)
@@ -51,6 +51,8 @@
 import org.ametys.web.inputdata.InputData;
 import org.ametys.web.pageaccess.PageAccessManager;
 import org.ametys.web.pageaccess.RestrictedPagePolicy;
+import org.ametys.web.renderingcontext.RenderingContext;
+import org.ametys.web.renderingcontext.RenderingContextHandler;
 import org.ametys.web.repository.page.Page;
 import org.ametys.web.repository.page.Page.PageType;
 import org.ametys.web.repository.site.Site;
@@ -73,6 +75,8 @@
     protected PageAccessManager _accessManager;
     /** The ametys sites manager */
     protected SiteManager _siteManager;
+    /** The rendering context handler. */
+    protected RenderingContextHandler _renderingContextHandler;
     
     @Override
     public void service(ServiceManager smanager) throws ServiceException
@@ -81,6 +85,7 @@
         _resolver = (AmetysObjectResolver) smanager.lookup(AmetysObjectResolver.ROLE);
         _accessManager = (PageAccessManager) smanager.lookup(PageAccessManager.ROLE);
         _siteManager = (SiteManager) smanager.lookup(SiteManager.ROLE);
+        _renderingContextHandler = (RenderingContextHandler) smanager.lookup(RenderingContextHandler.ROLE);
     }
     
     @Override
@@ -129,6 +134,7 @@
     protected void saxFilter (ContentHandler contentHandler, PageFilter filter, String siteName, String lang, Page currentPage)  throws SAXException, IOException
     {
         RestrictedPagePolicy policy = _siteManager.getSite(siteName).getRestrictedPagePolicy();
+        RenderingContext currentContext = _renderingContextHandler.getRenderingContext();
         
         String id = filter.getId();
         
@@ -140,7 +146,9 @@
         {
             Page page = pages.next();
             
-            if (policy == RestrictedPagePolicy.DISPLAYED || isPageAccessible(page))
+            // In back-office or in preview or live mode, access is always granted.
+            if (currentContext == RenderingContext.BACK || currentContext == RenderingContext.PREVIEW 
+                    || policy == RestrictedPagePolicy.DISPLAYED || isPageAccessible(page))
             {
                 saxPage(contentHandler, page);
                 index++;
