diff -up browscap/browscap.module browscap_new/browscap.module
--- browscap/browscap.module	2010-09-01 21:52:03.000000000 +0200
+++ browscap_new/browscap.module	2010-11-30 11:52:59.302075577 +0100
@@ -11,6 +11,13 @@
  */
 
 /**
+ * Implementation of hook_perm().
+ */
+function browscap_perm() {
+  return array('configure browscap', 'view browscap reports');
+}
+
+/**
  * Implementation of hook_menu().
  *
  * @return array
@@ -22,11 +29,11 @@ function browscap_menu() {
     'description' => t('Browser-specific site statistics.'),
     'page callback' => 'browscap_top_useragents',
     'page arguments' => array('all'),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('view browscap reports'),
     'weight' => 5);
   $items['admin/reports/browscap/useragents'] = array(
     'title' => t('All user agents'),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('view browscap reports'),
     'weight' => 1,
     'type' => MENU_DEFAULT_LOCAL_TASK
   );
@@ -34,7 +41,7 @@ function browscap_menu() {
     'title' => t('Browsers'),
     'page callback' => 'browscap_top_useragents',
     'page arguments' => array('browsers'),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('view browscap reports'),
     'weight' => 2,
     'type' => MENU_LOCAL_TASK
   );
@@ -42,7 +49,7 @@ function browscap_menu() {
     'title' => t('Crawlers'),
     'page callback' => 'browscap_top_useragents',
     'page arguments' => array('crawlers'),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('view browscap reports'),
     'weight' => 3,
     'type' => MENU_LOCAL_TASK
   );
@@ -53,20 +60,20 @@ function browscap_menu() {
     'description' => t('Enable browscap site statistics.'),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('browscap_settings'),
-    'access arguments' => array('administer site configuration'),
+    'access arguments' => array('configure browscap'),
   );
 
   $items['admin/settings/browscap/refresh'] = array(
     'title' => t('Browscap Refresh'),
     'page callback' => 'browscap_refresh',
-    'access arguments' => array('administer site configuration'),
+    'access arguments' => array('configure browscap'),
     'type' => MENU_CALLBACK,
   );
   $items['admin/reports/browscap/useragent/%browscap_useragent'] = array(
     'title' => 'Useragent details',
     'page callback' => 'browscap_useragent_properties',
     'page arguments' => array(4),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('view browscap reports'),
     'weight' => 5,
     'type' => MENU_LOCAL_TASK
   );
Les sous-répertoires browscap/translations et browscap_new/translations sont identiques.
