Index: main/plugin-web/i18n/messages_en.xml
===================================================================
--- main/plugin-web/i18n/messages_en.xml	(revision 29624)
+++ main/plugin-web/i18n/messages_en.xml	(working copy)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-   Copyright 2010 Anyware Services
+   Copyright 2015 Anyware Services
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -28,8 +28,12 @@
 	<message key="PLUGINS_WEB_RIGHTS_TAGS_IMPORT_XML_LABEL">Import tags</message>
 	<message key="PLUGINS_WEB_RIGHTS_TAGS_IMPORT_XML_DESCRIPTION">Import tags from a XML file</message>
 	<message key="PLUGINS_WEB_RIGHTS_SITEMAP_CATEGORY">Rights on sitemap</message>
-	<message key="PLUGINS_WEB_RIGHTS_PAGE_HANDLE_LABEL">Pages management</message>
-	<message key="PLUGINS_WEB_RIGHTS_PAGE_HANDLE_DESCRIPTION">Add, update or delete pages</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_CREATE_LABEL">Page creation</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_CREATE_DESCRIPTION">Allow to create pages</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_RENAME_LABEL">Page renaming</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_RENAME_DESCRIPTION">Allow to rename pages</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_DELETE_LABEL">Page deletion</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_DELETE_DESCRIPTION">Allow to delete pages</message>
 	<message key="PLUGINS_WEB_RIGHTS_PAGE_SEO_LABEL">SEO</message>
 	<message key="PLUGINS_WEB_RIGHTS_PAGE_SEO_DESCRIPTION">Allow to include or exclude pages from SEO files</message>
 	<message key="PLUGINS_WEB_RIGHTS_PAGE_TAG_LABEL">Page tagging</message>
@@ -1922,7 +1926,13 @@
 	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_SITEMAP">Sitemap</message>
 	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_SITES">An error occurred : unable to collect website list</message>
 	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_LANGUAGES">An error occurred : unable to collect language list for that website</message>
-	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_MOVE">An error occurred : unable to move page. Checks your rights on the page you are moving and on the target page.</message>
+   	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_MOVE">An error occurred : unable to move page. Checks your rights on the page you are moving and on the target page.</message>
+	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_INSUFFICIENT_RIGHTS">Insufficient rights</message>
+    <message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_DELETION_RIGHT">You must have the right to delete the selected page </message>
+    <message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_CREATION_RIGHT">You must have the right to create pages under the selected page </message>
+    <message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_ENDING_MSG">in order to be able to move it.</message>
+
+
 
 	<message key="PLUGINS_WEB_TOOL_CONTENT_CONTENTTOOL_EXTERNAL">The content you try to open belongs to another website managed by Ametys, it is a read-only content. Connect to that website in Ametys to edit this content.</message>
     <message key="PLUGINS_WEB_TOOL_CONTENT_CONTENTTOOL_SHARED">The content you're viewing comes from the sharing of another content, therefore you can't modify it. Please open the original content to be able to edit it.</message>
Index: main/plugin-web/i18n/messages_fr.xml
===================================================================
--- main/plugin-web/i18n/messages_fr.xml	(revision 29624)
+++ main/plugin-web/i18n/messages_fr.xml	(working copy)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-   Copyright 2010 Anyware Services
+   Copyright 2015 Anyware Services
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -28,8 +28,12 @@
 	<message key="PLUGINS_WEB_RIGHTS_TAGS_IMPORT_XML_LABEL">Importer des étiquettes</message>
 	<message key="PLUGINS_WEB_RIGHTS_TAGS_IMPORT_XML_DESCRIPTION">Importer des étiquettes à partir d'un fichier xml</message>
 	<message key="PLUGINS_WEB_RIGHTS_SITEMAP_CATEGORY">Droits sur le plan du site</message>
-	<message key="PLUGINS_WEB_RIGHTS_PAGE_HANDLE_LABEL">Gestion des pages</message>
-	<message key="PLUGINS_WEB_RIGHTS_PAGE_HANDLE_DESCRIPTION">Autorise à ajouter, modifier ou supprimer des pages</message>
+	<message key="PLUGINS_WEB_RIGHTS_PAGE_CREATE_LABEL">Créer une page</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_CREATE_DESCRIPTION">Autorise à créer des pages</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_RENAME_LABEL">Renommer une page</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_RENAME_DESCRIPTION">Autorise à renommer des pages</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_DELETE_LABEL">Supprimer une page</message>
+    <message key="PLUGINS_WEB_RIGHTS_PAGE_DELETE_DESCRIPTION">Autorise supprimer des pages</message>
 	<message key="PLUGINS_WEB_RIGHTS_PAGE_SEO_LABEL">Référencement</message>
 	<message key="PLUGINS_WEB_RIGHTS_PAGE_SEO_DESCRIPTION">Autorise à inclure ou exclure une page du référencement</message>
 	<message key="PLUGINS_WEB_RIGHTS_PAGE_TAG_LABEL">Etiqueter une page</message>
@@ -1925,6 +1929,12 @@
 	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_SITES">Une erreur est survenue : impossible de récupérer la liste des sites</message>
 	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_LANGUAGES">Une erreur est survenue : impossible de récupérer la liste des langues disponibles pour ce site</message>
 	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_MOVE">Une erreur est survenue: la page n'a pas été déplacée. Vérifiez que vous possédez les droits suffisants sur la page à déplacer ET sur la page cible.</message>
+	<message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_INSUFFICIENT_RIGHTS">Droits insuffisants</message>
+    <message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_DELETION_RIGHT">Vous devez avoir le droit de supprimer la page sélectionnée </message>
+    <message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_CREATION_RIGHT">Vous devez avoir le droit de créer des pages sous la page sélectionnée </message>
+    <message key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_ENDING_MSG"> afin de pouvoir la déplacer.</message>
+	
+	
 	
 	<message key="PLUGINS_WEB_TOOL_CONTENT_CONTENTTOOL_EXTERNAL">Le contenu que vous visualisez appartient à un autre site, vous êtes donc en Lecture seule. Utilisez le CMS du site correspondant pour modifier ce contenu.</message>
 	<message key="PLUGINS_WEB_TOOL_CONTENT_CONTENTTOOL_SHARED">Le contenu que vous visualisez est issu du partage d'un autre contenu, vous êtes donc en lecture seule. Ouvrez le contenu original pour pouvoir le modifier.</message>
Index: main/plugin-web/plugin.xml
===================================================================
--- main/plugin-web/plugin.xml	(revision 29624)
+++ main/plugin-web/plugin.xml	(working copy)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--
-   Copyright 2010 Anyware Services
+   Copyright 2015 Anyware Services
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -1397,15 +1397,33 @@
             </extension>
             
             <extension point="org.ametys.runtime.plugins.core.right.RightsExtensionPoint"
-                       id="web.rights.page.handle">
-                <right id="Web_Rights_Page_Handle">
-                    <label>PLUGINS_WEB_RIGHTS_PAGE_HANDLE_LABEL</label>
-        			<description>PLUGINS_WEB_RIGHTS_PAGE_HANDLE_DESCRIPTION</description>
+                       id="web.rights.page.create">
+                <right id="Web_Rights_Page_Create">
+                    <label>PLUGINS_WEB_RIGHTS_PAGE_CREATE_LABEL</label>
+        			<description>PLUGINS_WEB_RIGHTS_PAGE_CREATE_DESCRIPTION</description>
         			<category>PLUGINS_WEB_RIGHTS_SITEMAP_CATEGORY</category>
                 </right>
             </extension>
             
             <extension point="org.ametys.runtime.plugins.core.right.RightsExtensionPoint"
+                       id="web.rights.page.rename">
+                <right id="Web_Rights_Page_Rename">
+                    <label>PLUGINS_WEB_RIGHTS_PAGE_RENAME_LABEL</label>
+                    <description>PLUGINS_WEB_RIGHTS_PAGE_RENAME_DESCRIPTION</description>
+                    <category>PLUGINS_WEB_RIGHTS_SITEMAP_CATEGORY</category>
+                </right>
+            </extension>
+            
+            <extension point="org.ametys.runtime.plugins.core.right.RightsExtensionPoint"
+                       id="web.rights.page.delete">
+                <right id="Web_Rights_Page_Delete">
+                    <label>PLUGINS_WEB_RIGHTS_PAGE_DELETE_LABEL</label>
+                    <description>PLUGINS_WEB_RIGHTS_PAGE_DELETE_DESCRIPTION</description>
+                    <category>PLUGINS_WEB_RIGHTS_SITEMAP_CATEGORY</category>
+                </right>
+            </extension>
+            
+            <extension point="org.ametys.runtime.plugins.core.right.RightsExtensionPoint"
                        id="web.rights.page.seo">
                 <right id="Web_Rights_Page_SEO">
                     <label>PLUGINS_WEB_RIGHTS_PAGE_SEO_LABEL</label>
@@ -2575,7 +2593,7 @@
     	</extensions>
     </feature>
 
-	 <!-- +
+	<!-- +
     	 | SITEMAP
     	 + -->
      <feature name="userinterface.sitemap.create">
@@ -2613,7 +2631,7 @@
 				<css>
 					<file>css/pages/addpage.css</file>
 				</css>
-				<right>Web_Rights_Page_Handle</right>
+				<right>Web_Rights_Page_Create</right>
 			</extension>
 		</extensions>     
      </feature>
@@ -2681,7 +2699,7 @@
 					<file>js/org/ametys/web/tool/page/Actions.i18n.js</file>
 					<file>js/org/ametys/ribbon/control/button/ModifiablePageActionButton.js</file>
 				</scripts>
-				<right>Web_Rights_Page_Handle</right>
+				<right>Web_Rights_Page_Delete</right>
 			</extension>
 			
     		<!-- Rafraichir la page dans le plan du site -->
@@ -2777,7 +2795,7 @@
 					<file>js/org/ametys/web/tool/page/Actions.i18n.js</file>
 					<file>js/org/ametys/ribbon/control/button/ModifiablePageActionButton.js</file>
 				</scripts>
-				<right>Web_Rights_Page_Handle</right>
+				<right>Web_Rights_Page_Rename</right>
 			</extension>
 			
 			<!-- Ouvrir la page -->
@@ -2863,7 +2881,7 @@
 					<file>js/org/ametys/web/tool/page/Actions.i18n.js</file>
 					<file>js/org/ametys/ribbon/control/button/ModifiablePageActionButton.js</file>
 				</scripts>
-				<right>Web_Rights_Page_Handle</right>
+				<right>Web_Rights_Page_Create</right>
     		</extension>
 			
 			<!-- Rafraichir la page -->
Index: main/plugin-web/resources/js/org/ametys/web/helper/ChoosePageInSitemap.i18n.js
===================================================================
--- main/plugin-web/resources/js/org/ametys/web/helper/ChoosePageInSitemap.i18n.js	(revision 29624)
+++ main/plugin-web/resources/js/org/ametys/web/helper/ChoosePageInSitemap.i18n.js	(working copy)
@@ -171,7 +171,7 @@
 			var params = {};
 			params.siteName = org.ametys.web.helper.ChoosePageInSitemap._tree._siteName;
 			params.context = '/pages/' + org.ametys.web.helper.ChoosePageInSitemap._tree._lang + (node != null ? '/' + node.attributes.path : '');
-			params.rights = 'Web_Rights_Page_Handle';
+			params.rights = 'Web_Rights_Page_Create';
 			
 		 	var serverMessage = new org.ametys.servercomm.ServerMessage('web', '/has-right', params, org.ametys.servercomm.ServerComm.PRIORITY_SYNCHRONOUS, null, this, null);
 		 	var response = org.ametys.servercomm.ServerComm.getInstance().send(serverMessage);
Index: main/plugin-web/resources/js/org/ametys/web/tool/sitemap/SitemapTool.i18n.js
===================================================================
--- main/plugin-web/resources/js/org/ametys/web/tool/sitemap/SitemapTool.i18n.js	(revision 29624)
+++ main/plugin-web/resources/js/org/ametys/web/tool/sitemap/SitemapTool.i18n.js	(working copy)
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2010 Anyware Services
+ *  Copyright 2015 Anyware Services
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -321,29 +321,65 @@
 
 org.ametys.web.tool.sitemap.SitemapTool.prototype._moveNode = function (tree, node, oldParent, newParent, index)
 {
-	var params = {};
-	params.id = node.id;
-	params.oldParent = oldParent.id;
-	params.newParent = newParent.id;
+	if (this._checkRights(tree._siteName, tree._lang, node, "Web_Rights_Page_Delete") &amp;&amp; this._checkRights(tree._siteName, tree._lang, newParent, "Web_Rights_Page_Create"))
+	{
+		// The user has the right to delete the selected node and the right to create pages under the dropped page
+		var params = {};
+		params.id = node.id;
+		params.oldParent = oldParent.id;
+		params.newParent = newParent.id;
+		
+		var sibling = newParent.item(index);
+		if (sibling != null)
+		{
+			params.sibling = sibling.id;
+		}
 	
-	var sibling = newParent.item(index);
-	if (sibling != null)
+		var serverMessage = new org.ametys.servercomm.ServerMessage('web', '/repository/move-page', params, org.ametys.servercomm.ServerComm.PRIORITY_SYNCHRONOUS, null, this, null);
+		var response = org.ametys.servercomm.ServerComm.getInstance().send(serverMessage);
+		
+		if (org.ametys.servercomm.ServerComm.handleBadResponse("<i18n:text i18n:key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_MOVE"/>", response, "org.ametys.web.tool.sitemap.SitemapTool.move"))
+		{
+			// Cancel the move
+			return false;
+		}
+		
+		var pageTarget = org.ametys.messagebus.bus.MessageBuilder.getInstance().createTarget("page", {'id': node.id});
+		var message = org.ametys.messagebus.bus.MessageBuilder.getInstance().createMessage(org.ametys.ribbon.RibbonManager.EVENTTYPE_MOVED, {}, [pageTarget]);
+		org.ametys.messagebus.MessageBus.getInstance().fireMessages([message]);
+	}
+	else
 	{
-		params.sibling = sibling.id;
+		return false;
 	}
-	
-	var serverMessage = new org.ametys.servercomm.ServerMessage('web', '/repository/move-page', params, org.ametys.servercomm.ServerComm.PRIORITY_SYNCHRONOUS, null, this, null);
-	var response = org.ametys.servercomm.ServerComm.getInstance().send(serverMessage);
+}
+
+org.ametys.web.tool.sitemap.SitemapTool.prototype._checkRights = function(siteName, language, node, right)
+{
+	var params = {};
+	params.siteName = siteName;
+	params.context = '/pages/' + language + (node != null ? '/' + node.attributes.path : '');
+	params.rights = right;
 	
-	if (org.ametys.servercomm.ServerComm.handleBadResponse("<i18n:text i18n:key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_MOVE"/>", response, "org.ametys.web.tool.sitemap.SitemapTool.move"))
+ 	var serverMessage = new org.ametys.servercomm.ServerMessage('web', '/has-right', params, org.ametys.servercomm.ServerComm.PRIORITY_SYNCHRONOUS, null, this, null);
+ 	var response = org.ametys.servercomm.ServerComm.getInstance().send(serverMessage);
+ 	
+ 	if (response == null || response.selectSingleNode ('ActionResult/hasRight')[org.ametys.servercomm.ServerComm.xmlTextContent] != 'true')
 	{
-		// Cancel the move
+ 		var msgFirstPart = right == "Web_Rights_Page_Delete" ? "<i18n:text i18n:key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_DELETION_RIGHT"/>"
+ 											    		     : "<i18n:text i18n:key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_CREATION_RIGHT"/>";
+ 		
+		Ext.Msg.show({
+			title: "<i18n:text i18n:key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_INSUFFICIENT_RIGHTS"/>",
+			msg: msgFirstPart + "(" + node.attributes['long-title'] + ")" + "<i18n:text i18n:key="PLUGINS_WEB_TOOL_SITEMAP_SITEMAPTOOL_ERROR_ENDING_MSG"/>",
+			buttons: Ext.Msg.OK,
+			icon: Ext.MessageBox.ERROR
+		});
+
 		return false;
 	}
-	
-	var pageTarget = org.ametys.messagebus.bus.MessageBuilder.getInstance().createTarget("page", {'id': node.id});
-	var message = org.ametys.messagebus.bus.MessageBuilder.getInstance().createMessage(org.ametys.ribbon.RibbonManager.EVENTTYPE_MOVED, {}, [pageTarget]);
-	org.ametys.messagebus.MessageBus.getInstance().fireMessages([message]);
+ 	
+ 	return true;
 }
 
 org.ametys.web.tool.sitemap.SitemapTool.prototype._openPage = function (node, e)
@@ -466,4 +502,3 @@
     });
 	
 }
-
Index: main/plugin-web/src/org/ametys/web/repository/page/actions/CopyPageAction.java
===================================================================
--- main/plugin-web/src/org/ametys/web/repository/page/actions/CopyPageAction.java	(revision 29624)
+++ main/plugin-web/src/org/ametys/web/repository/page/actions/CopyPageAction.java	(working copy)
@@ -39,6 +39,7 @@
 import org.ametys.plugins.repository.jcr.JCRAmetysObject;
 import org.ametys.plugins.repository.jcr.SimpleAmetysObject;
 import org.ametys.plugins.repository.version.VersionableAmetysObject;
+import org.ametys.runtime.right.RightsManager.RightResult;
 import org.ametys.web.ObservationConstants;
 import org.ametys.web.repository.page.CopySiteComponent;
 import org.ametys.web.repository.page.Page;
@@ -86,6 +87,15 @@
         
         PagesContainer parent = _resolver.resolveById(target);
         
+        // Check rights
+        if (!_isSuperUser())
+        {
+            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Create", "/pages/" + parent.getSitemapName() + "/" + parent.getPathInSitemap()) != RightResult.RIGHT_OK)
+            {
+                throw new IllegalStateException("You do not have the rights to create a page under '/" + parent.getSitemapName() + "/" + parent.getPathInSitemap() + "'");
+            }
+        }
+        
         if (parent instanceof ModifiableTraversableAmetysObject)
         {
             Page cPage = null;
Index: main/plugin-web/src/org/ametys/web/repository/page/actions/CreatePageAction.java
===================================================================
--- main/plugin-web/src/org/ametys/web/repository/page/actions/CreatePageAction.java	(revision 29624)
+++ main/plugin-web/src/org/ametys/web/repository/page/actions/CreatePageAction.java	(working copy)
@@ -19,6 +19,8 @@
 import java.util.Map;
 
 import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.Request;
@@ -29,14 +31,17 @@
 import org.ametys.cms.observation.AbstractNotifierAction;
 import org.ametys.cms.observation.Event;
 import org.ametys.plugins.repository.ModifiableTraversableAmetysObject;
+import org.ametys.runtime.right.RightsManager;
+import org.ametys.runtime.right.RightsManager.RightResult;
 import org.ametys.web.ObservationConstants;
 import org.ametys.web.repository.page.ModifiablePage;
+import org.ametys.web.repository.page.Page;
 import org.ametys.web.repository.page.Page.PageType;
 import org.ametys.web.repository.page.PagesContainer;
 import org.ametys.web.repository.site.Site;
 
 /**
- * Action for creating a page.
+ * Action for the creation of a page.
  */
 public class CreatePageAction extends AbstractNotifierAction
 {
@@ -49,7 +54,7 @@
         String pageTitle = request.getParameter("title");
         String pageLongTitle = request.getParameter("longTitle");
         String parentId = request.getParameter("parentId");
-
+        
         PagesContainer parent = _resolver.resolveById(parentId);
         
         assert parent instanceof ModifiableTraversableAmetysObject;
@@ -74,7 +79,16 @@
         }
         
         ModifiablePage page = ((ModifiableTraversableAmetysObject) parent).createChild(pageName, "ametys:defaultPage");
-                
+        
+        // Check rights
+        if (!_isSuperUser())
+        {
+            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Create", "/pages/" + parent.getSitemapName() + "/" + parent.getPathInSitemap()) != RightResult.RIGHT_OK)
+            {
+                throw new IllegalStateException("You do not have the rights to create a page under '/" + parent.getSitemapName() + "/" + parent.getPathInSitemap() + "'");
+            }
+        }
+        
         page.setTitle(pageTitle);
         page.setType(PageType.NODE);
         page.setSiteName(site.getName());
Index: main/plugin-web/src/org/ametys/web/repository/page/actions/DeletePageAction.java
===================================================================
--- main/plugin-web/src/org/ametys/web/repository/page/actions/DeletePageAction.java	(revision 29624)
+++ main/plugin-web/src/org/ametys/web/repository/page/actions/DeletePageAction.java	(working copy)
@@ -30,6 +30,7 @@
 import org.ametys.cms.observation.AbstractNotifierAction;
 import org.ametys.cms.observation.Event;
 import org.ametys.plugins.repository.ModifiableAmetysObject;
+import org.ametys.runtime.right.RightsManager.RightResult;
 import org.ametys.web.ObservationConstants;
 import org.ametys.web.repository.page.ModifiablePage;
 import org.ametys.web.repository.page.Page;
@@ -53,6 +54,15 @@
         String pagePathInSitemap = page.getPathInSitemap();
         String pageId = page.getId();
         
+        // Check rights
+        if (!_isSuperUser())
+        {
+            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Delete", "/pages/" + page.getSitemapName() + "/" + pagePathInSitemap) != RightResult.RIGHT_OK)
+            {
+                throw new IllegalStateException("You do not have the rights to delete the page '/" + page.getSitemapName() + "/" + pagePathInSitemap + "'");
+            }
+        }
+        
         List<String> childPagesIds = _getChildPagesId (page);
         
         // FIXME API test if this is not modifiable
Index: main/plugin-web/src/org/ametys/web/repository/page/actions/MovePageAction.java
===================================================================
--- main/plugin-web/src/org/ametys/web/repository/page/actions/MovePageAction.java	(revision 29624)
+++ main/plugin-web/src/org/ametys/web/repository/page/actions/MovePageAction.java	(working copy)
@@ -40,14 +40,10 @@
  */
 public class MovePageAction extends AbstractNotifierAction
 {
-    /** The rights manager */
-    protected RightsManager _rightsManager;
-    
     @Override
     public void service(ServiceManager serviceManager) throws ServiceException
     {
         super.service(serviceManager);
-        _rightsManager = (RightsManager) serviceManager.lookup(RightsManager.ROLE);
     }
     
     @Override
@@ -70,9 +66,9 @@
         // Check rights
         if (!_isSuperUser())
         {
-            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Handle", "/pages/" + page.getSitemapName() + "/" + oldPathInSitemap) != RightResult.RIGHT_OK)
+            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Delete", "/pages/" + page.getSitemapName() + "/" + oldPathInSitemap) != RightResult.RIGHT_OK)
             {
-                throw new IllegalStateException("You do not have the rights to move the page '/" + page.getSitemapName() + "/" + oldPathInSitemap + "'");
+                throw new IllegalStateException("You do not have the rights to delete the page '/" + page.getSitemapName() + "/" + oldPathInSitemap + "'");
             }
         }
         
@@ -94,9 +90,10 @@
         {
             PagesContainer newParentPage = _resolver.resolveById(newParent);
 
-            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Handle", "/pages/" + newParentPage.getSitemapName() + "/" + newParentPage.getPathInSitemap()) != RightResult.RIGHT_OK)
+            // check rights
+            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Create", "/pages/" + newParentPage.getSitemapName() + "/" + newParentPage.getPathInSitemap()) != RightResult.RIGHT_OK)
             {
-                throw new IllegalStateException("You do not have the rights to move a page under '/" + newParentPage.getSitemapName() + "/" + newParentPage.getPathInSitemap() + "'");
+                throw new IllegalStateException("You do not have the rights to create a page under '/" + newParentPage.getSitemapName() + "/" + newParentPage.getPathInSitemap() + "'");
             }
 
             ((MoveablePage) page).moveTo(newParentPage, true);
Index: main/plugin-web/src/org/ametys/web/repository/page/actions/RenamePageAction.java
===================================================================
--- main/plugin-web/src/org/ametys/web/repository/page/actions/RenamePageAction.java	(revision 29624)
+++ main/plugin-web/src/org/ametys/web/repository/page/actions/RenamePageAction.java	(working copy)
@@ -29,6 +29,7 @@
 import org.ametys.cms.observation.AbstractNotifierAction;
 import org.ametys.cms.observation.Event;
 import org.ametys.plugins.repository.ModifiableTraversableAmetysObject;
+import org.ametys.runtime.right.RightsManager.RightResult;
 import org.ametys.web.ObservationConstants;
 import org.ametys.web.alias.Alias.TargetType;
 import org.ametys.web.alias.AliasHelper;
@@ -58,6 +59,16 @@
 
         // FIXME API ModifiablePage
         ModifiablePage page = _resolver.resolveById(id);
+        
+        // Check rights
+        if (!_isSuperUser())
+        {
+            if (_rightsManager.hasRight(_getCurrentUser(), "Web_Rights_Page_Rename", "/pages/" + page.getSitemapName() + "/" + page.getPathInSitemap()) != RightResult.RIGHT_OK)
+            {
+                throw new IllegalStateException("You do not have the rights to delete the page '/" + page.getSitemapName() + "/" + page.getPathInSitemap() + "'");
+            }
+        }
+        
         page.setTitle(title);
         page.setLongTitle(longtitle);
 
