Vous êtes sur la page 1sur 13

Administrer une instance Agora

Administrer une instance


Agora
Comment changer les droits, par défaut, réindexer le site rapidement, changer de base de donnée,
réécrire les URL.... autant de question d'ordre technique abordées dans cette section.

Page 1/13
Administrer une instance Agora

Organisation fonctionnelle des fichiers dans Agora


Les fonctionnalités d'Agora ont été organisées par répertoires de la manière suivante (tableau non
exhaustif) :

Répertoire Contenu
/afficher Les squelettes par défaut
/ecrire/include/authorization Le programmes de gestion des droits
utilisateurs
/ecrire/include/bd Les classes métier
/ecrire/include/bd/common Les drivers de base de données à la
norme SQL 92
/ecrire/include/bd/mysql Implémentation spécifique des classes
métiers
/ecrire/include/bd/DBWrapper2 L'ensemble des classes d'analyse des
modèles de page
/ecrire/include/bd/ldap3 Les méthodes métiers de gestion des
auteurs stockés sous LDAP
/ecrire/include/bd/NestedSetHelper Contient une classe d'aide à la gestion
de l'arborescence de mot clé
/ecrire/include/NestedSet Réimplémentation du package
PEAR ::DB_NestedSet
/ecrire/include/sevenseas L'abstraction de moteur d'indexation
externe
/ecrire/lang Les fichiers de langue pour le
multilinguisme de l'interface
/ecrire/squelettes_newsletter Les squelettes des newsletters

Page 2/13
Administrer une instance Agora

Tests de charge et performances


Agora a connu à ses débuts des problèmes de lenteur, problèmes aujourd'hui résolus.

Il est déconseillé d'utiliser en production les modèles de pages livrés en standard, car bien qu'illustrant
chacune des fonctionnalités du logiciel, elles sont peu optimisées pour la performance. Un webmestre
qui réaliserait des tests à partir d'une version tout juste installée obtiendrait une image faussement
défavorable.

Les modèles de pages livrés par défaut sont conçus à titre d'exemple pour un usage pédagogique et
non pour l'exploitation. Ils intègrent de manière récursive tous les éléments possibles et, de ce fait,
génèrent une charge excessive.

Ci-après les résultats de deux tests de montée en charges réalisés avec l'utilitaire Apache Bench (livré
dans toute les distributions du serveur Apache). Le premier test porte sur une version 1.3.1, juste
après installation. Le second, sur la version en exploitation, avec des modèles de pages réels (et
réalistes) correspondant au site www.handicap.gouv.fr.

Montée en charge, version 1.3.1, modèles de pages par défaut

Requêtes simultanées Requêtes par seconde


10 4,58
25 4,46
50 5,87
100 6,18
200 6,32
500 7,52
1000 crash

Montée en charge, version 1.3.1, modèles de pages réels

Requêtes simultanées Requêtes par seconde


10 421,20
25 403,47
50 429,78
100 384,85
200 443,39
500 449,12
1000 443,57

On voit ainsi qu'en configuration réelle Agora tient raisonnablement la charge. Le gain par rapport
aux modèles de page standard est d'un facteur 100.

Page 3/13
Administrer une instance Agora

Si vous souhaitez utiliser Agora pour un site volumineux et à fort trafic, adoptez ces deux règles
simples pour $delais (délai de rafraîchissement d'un modèle de page) :
- plus la page est consultée, plus son délai devrait être court ;
- les délais des sous-modèles de page ne doivent pas être plus courts que le modèle de page principal
dans lequel ils sont inclus.

Agora est "gourmant" lorsqu'il n'utilise pas le cache : il nécessite au minimum 16Mo de mémoire
pour les processus php (à modifier dans php.ini), ouvre plus de 1~000 fichiers lorsqu'une page est
recalculée et génère de nombreuses requêtes à la base de données, notamment dans le cadre de
modèles de page complexes. Prévoyez une quantité importante de RAM sur le serveur de production.

Page 4/13
Administrer une instance Agora

Paramètres d'accès à la base de données


Le fichier /ecrire/include/bd/inc_config_metier.php contient les paramètres d'accès à la base de
données.

Vous serez éventuellement amené à le manipuler si par exemple vous déplacez une instance d'Agora
d'un emplacement à un autre, ou si vous changez de base de données. Cela évite d'avoir à repasser par
l'installation.

A l'inverse, si vous effacez ce fichier, vous pouvez forcer la réinstallation d'Agora sans avoir à
redéposer les fichiers, en accédant à /ecrire avec votre navigateur.

Les paramètres de inc_config_metier.php

Variable Descriptif
$dbType~=~'mysql' Type du SGBD, mysql dans la majorité
des cas
$dbLogin~=~'agora' Login d'accès à votre base de donnée
$dbPassword~=~'agora' Mot de passe d'accès à votre base de
données
$dbHost~=~'localhost' Nom du serveur de votre base de
données. Usuellement localhost si elle
est sur le même serveur que les fichiers.
$dbName~=~'agora_test' Nom de votre base de données
$bd_options['persistent']~=~false Règle la persistance des connexions de
base de données : <tt>false</tt> est
l'option par défaut, <tt>true</tt> ou toute
autre valeur rend les connexions
persistantes

Important : dans les distributions d'Agora antérieure à la version 1.3.2, une faute de frappe rendait
inopérante l'option $bd_options['persistent'] et pouvait générer la saturation du serveur en cas de
grande charge. La valeur était 'false' (avec des guillemets). Pour rétablir la valeur false, retirez les
guillemets. Plus de détails sur le site PEAR . Notez enfin que l'utilisation de cette option peut varier
d'un environnement à l'autre. Vos commentaires et retours d'expérience sont les bienvenus.

Page 5/13
Administrer une instance Agora

Réindexer tout le contenu


L'indexation du site par le moteur de recherche Agora s'effectue en tâche de fond au fur et à mesure
que les pages sont consultées.

Le menu "Administration du site / Vider le cache" propose d'effacer les index pour remettre à zéro les
données du moteur de recherche.

Pour réindexer tout le contenu du site en une seule fois, lancez le script index_all.php en ligne de
commande :

$> php /mon_site/ecrire/cron/index_all.php


Note : bien qu'efficace, cette opération peut prendre quelques minutes pour un site volumineux et
générer de nombreux messages d'avertissement.

Page 6/13
Administrer une instance Agora

Régler l'url de base d'une instance d'Agora


Un site Agora répond à une [URL|Uniform Resource Locator] de base mémorisée en base de
données. La documentation en fait état, mais nous rappelons ici ce point car si vous déplacez une
instance d'Agora, ou changez de nom de domaine, votre installation risque de ne plus fonctionner.

L'URL de votre site se règle dans le menu 'Administration du site', bloc "Nom de votre site", champ
"adresse (URL) du site public".

Si vous perdez l'accès à l'espace privé, modifiez cette valeur dans le champ adresse_site de la table
spip_meta de votre base de données.

Page 7/13
Administrer une instance Agora

La gestion des droits dans Agora

Le système d'autorisations par poids d'Agora

La gestion des droits d'Agora repose sur l'affectation d'une valeur, ou poids, à chaque profil
utilisateur :

Profil poids
visiteur 1
rédacteur 2
rédacteur en chef 4
webmestre 8
administrateur 16

Ces données sont stockées ainsi dans la table spip_profils :

poids intitule
0 texte_statut_poubelle
2 item_redacteur
4 item_redacteur_en_chef
8 item_webmestre
16 item_administrateur
1 item_non_abonne

Le système d'autorisations, responsable de la gestion des droits, figure dans le répertoire


/ecrire/include/authorization.

Le fichier ecrire/include/authorization/common/ActionDB_common.php liste les actions et la valeur


minimum requise pour avoir le droit de l'exécuter. Extrait :

<?php
// ....
$actiondb["creerArticle"]=2;
$actiondb["supprimerBreve"]=8;
$actiondb["refuserBreve"]=4;
$actiondb["modifierBreveApresPublication"]=4;
$actiondb["creerBreve"]=2;
$actiondb["modifierBreveAvantPublication"]=2;
$actiondb["afficherAuteursVisiteurs"]=16;
// ...
?>
En comparant les poids des profils et des actions, on voit par exemple que la création d'article est

Page 8/13
Administrer une instance Agora

autorisée à partir du profil Rédacteur, tandis que le refus d'une brève ne peut intervenir qu'à partir du
profil rédacteur en chef.

Méthode pour modifier les droits par profils

Pour modifier les droits, vous pouvez directement modifier les valeurs dans ActionDB_common.php.
Cependant, vos modifications seront perdues en cas de réinstallation d'Agora (lors d'une mise à
niveau par exemple).

Il vaut mieux créer votre propre fichier d'autorisations. Dupliquez le fichier ActionDB_common.php
et renommez-le en, par exemple,
ActionDB_perso.php. Vous pouvez alors porter les droits que vous voulez en modifiant les poids
associés aux actions.

Vous devez ensuite déclarer son existence pour qu'il soit lu par l'application. Ajoutez dans le fichiers
ecrire/mes_options.php3
$GLOBALS['type_authorization'] = "perso ";Pour finir, effacer les fichiers de cache des
autorisations par profil :
ecrire/data/auth_1.php
ecrire/data/auth_2.php
ecrire/data/auth_4.php
ecrire/data/auth_8.php
ecrire/data/auth_16.phppuis déconnectez/reconnectez-vous pour forcer la relecture des droits et
la création de nouveaux fichiers de cache.

Page 9/13
Administrer une instance Agora

Personnaliser les chaînes de langue


Les textes de l'interface de l'application sont régis par des variables que l'on appelle chaînes de
langue.

Les chaînes de langue sont rangées dans les fichiers du répertoire /ecrire/lang et ainsi nommées :

chapitre_langue.php3

Chapitre regroupe les chaînes de langues par groupe :

public tout ce qui concerne le site Web public


local complément personnalisé
spip tout ce qui concerne l'espace
d'administration
agora complément spécifique Agora

Les langues en suffixe sont codées selon les top level domain ISO Internet. Exemples :

fr français
es espagnol
de allemand
it italien

Vous pouvez changer les textes si vous le souhaitez. Vous pouvez également ajouter des définitions
de chaînes de langues pour les utiliser dans un site multilingue.

Vous pouvez également spécifier plus avant le lieu l'espace d'emploi dans l'espace d'administration.
Si vous souhaitez ne personnaliser que la rubrique 17, vous crééez un fichier agora-17_fr.php3 sur le
modèle d'un fichier de langue existant.

Page 10/13
Administrer une instance Agora

La gestion personnalisée du cache


Les fichiers du cache sont enregistrés à la racine de /CACHE dans des sous-répertoires distincts pour
les squelettes standards d'une part et les squelettes personnalisés pour un visiteur d'autre part.

Les scripts de création et de paramétrage des fichiers cache sont dans /ecrire/include/cacheHTML.

Le site de Clever Age propose un tutoriel d'utilisation du cache personnalisé.

Page 11/13
Administrer une instance Agora

Table des matières

Organisation fonctionnelle des fichiers dans Agora ......................................................................................................... 3


Tests de charge et performances ........................................................................................................................................ 4
Paramètres d'accès à la base de données ........................................................................................................................... 6
Réindexer tout le contenu ................................................................................................................................................... 7
Régler l'url de base d'une instance d'Agora...................................................................................................................... 8
La gestion des droits dans Agora ....................................................................................................................................... 9
Personnaliser les chaînes de langue.................................................................................................................................. 11
La gestion personnalisée du cache.................................................................................................................................... 12
Administrer une instance Agora

Document imprimé le : 26/05/2009


depuis le site
www.agora.gouv.fr

Si vous relevez une erreur dans ce document,


contactez le webmestre du site : agora@sig.premier-ministre.gouv.fr

Vous aimerez peut-être aussi