Extension:Farmer/fr

English - Français

À propos
Farmer est un outil qui vous permet d'administrer un ensemble de projets Mediawiki aussi bien qu'il modifie la configuration grâce à une interface Web.

Changelog

 * 0.0.2 : Gère l'apparence par défaut ainsi que les extensions gr«ce à l'interface Web. L'administrateur Farmer pour sélectionner les extensions disponibles pour l'ensemble des sites. Chaque wiki peut sélectionner les extensions qu'il veut activer.
 * 0.0.1 : Version initiale. Possiblité de créer un nouveau wiki grâce à une interface Web.  Peut aussi modifier les habilitations wiki par cette même interface.

Préfixe de la Table
Farmer impose que toutes les tables Mediawiki aient un préfixe, le wiki par défaut inclus. En l'absence de tel préfixe, chacune d'entre elles devra être renommée. Pour cela utiliser la requête SQL suivante :

En se basant sur la version 1.12alpha de Mediawiki, il est conseillé de déparer le préfix par _-_ afin d'éviter des problème de reconnaissance de la table. Si vous désirez ajouter le préfix admin, je conseille donc d'opérer de la façon suivante :

Répertoir accessible en écriture pour les fichiers de configuration des Wikis
Farmer écrit les configurations pour chaque wiki sur le disque. Le fichier permet l'accès au wiki grâces aux données écrite dans ces fichiers. Ceci signifie que le répertoire extensions/Farmer soit accessible en écriture. Ceci implique, notamment sous UNIX, ou LINUX, de lancer la commande chmod a+w extensions/Farmer -R.

Nettoyer LocalSettings.php
La configurration de LocalSettings.php doit être limitée au minimum. En effet, Farmet s'occuper de l'environnement globale de wiki par défaut, et ajuste les variables.

Ainsi, Farmer réduit LocalSettings.php au simple rôle de configuration globale de votre ensemble MediaWiki. Le code de ce fichier s'appliquera sur l'ensemble des wiki dépendant du site qui administrera tout l'ensemble. Vous pouvez continuer d'ajouter les extensions et les variables globales. En revanche, chaque variable propre à un sous projet ne devrait y figurer.

La liste des variables suivant ne devraient pas être définie dans votre LocalSettings.php.
 * $wgSitename
 * $wgDBprefix
 * $wgLogo
 * $wgGroupPermissions

En réalité, si quelques variables y sont définies, elles seront écrasées par Farmer. Cependant, une bonne pratique de la programmation est de ne pas définir des variables pour les sous-wikis dans ce fichier.

Choisir une stratégie d'hébergement
La stratégie d'hébergement consiste à savoir comment les wikis seront accessibles par une URL. En voici quelques exemples.

Wildcard DNS
La passerelle DNV se réfère par l'usage d'un hôte virtuel et d'une entrée DNS pour établir tous les sous-domaines d'un hôte vers un wiki unique.

Par exeple si votre wiki se trouve à  http://farm.mondomaine , les wikis seraient disponible sur  http:// wiki1.farm.mondomaine,  http:// wiki2.farm.mondomaine, etc.

Le préfixe de l'URL
Le préfixe de l'URL se réfère à l'identification d'un wiki par une composante du lien. Si vous avez un site  http:// farm.mondomaine, les wikis seraient accessible par  http:// farm.mondomaine/wiki1/,  http:// farm.mondomaine/wiki2/

Si vous n'avez pas la possibilité de créer une entrée DNS, vous serez donc obligé d'utiliser cette méthode.

Autres possibilités
Parce que Farmer vous permet de définir votre propre fonction pour planifier une requête vers un wiki, il est possible de créer une telle planification qui ferait ce que vous voudriez. Ainsi, vous pourriez planifier différents niveaux de domaines pour les wikis qui seraient tous créés par une seule installation de Mediawiki. Vous pouvez même planifier vers un wiki différent sur votre navigateur, etc. Tout dépend de vous.

Patches
Farmer exisge que soient appliqués quelques patches pour qu'il fonctionne convenablement. Ils concernes quelques fichiers du répertoire includes/ de mediawiki.

Compte tenu des récentes modifications de mediawiki depuis la création de l'extensions, les patches ont été modifiés depuis.

Tables partagées
À l'origine, le rapport #2396 contenait un patch pour les tables partagées pour l'ensembles des wiki. Ce patche avait été publié sur my patch lequel est devenu obsolète.

Il est donc conseillé d'utiliser le patch suivant :

Une fois votre patch installé, indiquer les paramètres suivants dans LocalSettings.php :

Il serait encore mieux d'y écrire directement le nom complet de la table partagée. Plusieurs problèmes ont été relevés avec cette configuration. Si vous avez le préfix admin, à titre d'exemple, j'écrirai directement :

Ceci partagera les tables 'user', 'user_groups', 'interwiki', and 'math' sur l'ensemble des wikis de Farmer.

Il est possible que Farmer puisse supporter, un jour, des bases de données non partagées `user` et `user_group`. Il semble qu'il serait plus logique pour eux qu'ils demeurent partagés car ce serait désavantageux d'administrer plusieurs comptes sur le même site.

mysql_errno fix
Si vous tournez avec MediaWiki trunk, passez à l'étape suivante. En revanche, pour les versions 1.7.1 et précédentes, vous devrez modifier dans Database.php, les fonctions fetchObject, fetchRow, et numRows qui appellent mysql_errno directement.

Vous devez changer ceci pour la lecture :

Obtenir le code source
Le code source est disponible sur le site officiel Subversion sous extensions/Farmer

Copier les sources vers le répertoirs extensions/
Copiez le code source ainsi téléchargé vers extensions/Farmer.

Installation dans LocalSettings.php
À la fin du fichier LocalSettings.php, ajoutez :

Configurer Farmer
Farmer doit être configuré avant son lancement. Une fois configuré, votre wiki sera bloqué.

Le fonctionnement de Farmet est affecté par paramètres dans la variable globale wgFarmerSettings laquelle est créé quand Farmer.php est incluse.

Comme il a été dit plus haut, cette variable doit être paramétrée entre la ligne  et celle comportant

Ceci vous donnera quelque chose comme :

Variables et définitions de $wgFarmerSettings
Ce qui suit sont les paramètres disponibles qui peuvent modifier le comportement de Farmer.


 * defaultWiki : Le nom du Wiki par défaut lequel correspond au préfixe de la table MySql du Wiki qui servira de site d'administration générale. Ce sera le seul site qui pourra créer d'autres sous-wikis. Ce wiki maître contient aussi des messages dans l'espace Mediawiki qui sont utilisés pour les autres projets. Quand un wiki ne peut être idenfifié par wikiIdentifierFunction (voir infra, le wiki accédé sera la valeur de cette variable. Cette-ci devra être rédigée en caractères minuscules. Cette variable doit être paramétrée.


 * configDirectory : Le répertoire où Farmer placera et lira les fichiers de configuration de chaque wiki. Ce répertoire doit être impérativement accessible en écriture par le serveur web. Il sera indiqué par défaut par le sous-répertoire configs où réside l'extension Farmer. Pour des raisons de sécurité, celui-ci ne devrait pas être accessible depuis Internet. C'est une bonne option pour que ce répertoire soit mis en dehors du répertoire racine de votre document.
 * wikiIdentifierFunction : : Quand Farmer tourne, il appelle une fonction qui essaiera de se trouver en dehors du wiki accédé à partir des variables d'environnement. Ce paramètre définit quelle fonction est appelée pour faire ceci. La valeur de cette option est en réalité le premier paramètres pour la fonction  de PHP. La classe MediaWikiFarmer à plusieurs méthodes de construction que vous pouvez utiliser : _matchByServerName, _matchByURLRegExp. Si vous avez besoin d'un comportement plus compliqué que les fonctions fournies pour déterminer le nom du wiki qui a été accédé, vous avez la possiblité d'écrire votre propre fonction pour effectuer la configuration et établir ce paramètre qui sera le nom de cette fonction. La valeur par défaut est


 * matchServerNameSuffix : En utilisant _matchByServerName comme wikiIdentifierFunction, ce paramètre établir le suffixe de chaque nom d'hôte qui représente un wiki. À titre d'exemple, si vous être en train d'utiliser un DNS pour identifier chaque wiki (wiki1.mondomaine.com, wiki2.mondomaine, etc), alors le suffixe sera mondomaine.com. Dans d'autre mots, _matchByServerName retournera chaque caractère jusqu'à la séquence précédant matchServerNameSuffix.


 * onUnknownWiki : Fonction à appeler quand un wiki inconnu a été accédé. La valeur de cette option est le premier paramètre de la fonction PHP . La fonction identifiée par cette variable est appelée quand   a identifié un wiki depuis l'environnement. Mais Farmer ne peut vérifier si ce wiki existe bel et bien. La valeur par défaut est  . Quand cette fonction est appelée, le premier paramètre sera le nom du wiki, tel qu'il est identifié par.


 * redirectToURL : Quand un onUnknownWiki est paramétré dans, cette option établisse l'adresse qui sera envoyée dans l'en-tête de la  .   dans cette adresse sera positionnée avec le nom du wiki, telle qu'elle a été passé dans la fonction établie par  . C'est une bonne idée pour cette adresse de pointer vers la page   de votre wiki principl ou bien de donner des instructions pour comment créer un wiki dans le cas d'utilisateur qui ne disposent pas des droits requis pour créer des wikis.


 * dbAdminUser : Nom de l'utilisateur ayant accès à la base de données pour créer des tables dans $wgDBname.


 * dbAdminPassword : Mot de passe pour dbAdminUser</tt>.


 * newDbSourceFile : Source du fichier SQL qui sera utilisé pour créer les tables de la base de donnée du wiki. Ce fichier doit être impérativement formaté comme maintenance/tables.sql</tt>. La variable par défaut pointe vers daughterwiki.sql lequel est distribué avec l'extension farmer mais qui est maintenant désuet. Il sera donc judicieux de recréer ce fichier en vous basant sur /maintenance/mysql5/tables.sql</tt> dont vous aurez bien soin d'enlever les tables . Si vous avez installé des extension requérant leurs propres tables, il conviendra de les ajouter dans votre fichier.


 * dbTablePrefix : Préfixe pour toutes les table de votre base de donnée. Ceci n'est donc pas nécessaire en principe. Il est utilisé si vous n'avez la permission de créer des tables avec un préfixe spécifique.


 * dbTablePrefixSeparator : Chaîne de caractères à insérer entre le nom de votre wiki et le nom de la table Mediawiki. Ceci permet une lecture plus facile pour toutes manipulations ultérieurs. Si rien n'est indiqué, la table ne comportera que le nom du wiki plus le nom de la table.


 * defaultMessagesFunction : Fonction à appeler qui retour un tableau de messages à insérer dans l'espace Mediwiki des wiki nouvellement créés. La valeur de ce paramère est le premier argument vers la fonction call_user_func</tt>. Le tableau retourné devrait disposer du nom du message comme clef et le message proprement dit comme valeur de cette clef. S'il n'est pas défini, il utilisera $wgAllMessagesEn pour remplir les messages des espaces de nommage.


 * perWikiStorageRoot : répertoire supérieur où chaque document par wiki (images, téléchargements, etc) seront stockés. Ce répertoire trouve son chemin indiqué dans la variable globale $wgUploadDirectory. Ce répertoire doit être accessible en écriture sur votre serveur web.
 * defaultSkin : L'apparence à utiliser pour les nouveaux wikis ainsi créé. Il prend la même valeur que $wgDefaultSkin dont la valeur par défaut est monobook</tt>.

Lancer Farmer pour la première fois
Après l'installation de Farmer dans LocalSettings.php</tt>, celui-ci sera utilisable. La première requête à effectuer consister à procéder à plusieurs choses. Si vous accédez à votre Wiki principal, Farmer créera automatiquement son propre fichier de ocnfiguration et les autres fichiers nécessaires pour qu'il puisse tourner. Si le répertoire configDirectory</tt> n'est pas accessible en écriture, Farmer lancera un message critique et votre wiki ne sera pas utilisable. En l'absence de tout message d'erreur tandis que vous pouvez accéder à votre wiki, tout laissera à penser que tout a été convenablement configuré.

Personnaliser les Messages de Farmer
Avant de faire quoi que ce soit avec Farmer, vous aurez peut-être besoin de personnaliser les messages systèmes par défaut. Toutefois, une version multilangue est en cours de développement et devrait normalement voir le jour prochainement. Dans l'espace Mediawiki, tous les messages ont pour préfixe farmer</tt>. Cette espace Mediawiki devrait dont être protégé en écriture pour éviter tout vandalisme, comme cela est le cas dans toutes les interfaces Mediawiki par défaut.

Toutefois, deux messages systèmes doivent être personnalisés :  et

farmerwikiurl
est le modèle pour le liens pointant vers un wiki de votre ensembles de projet. $1</tt> represente no nom du wiki. Cette adresse doit être paramètrée en fonction de la configuration de votre projet principal.

farmerinterwikiurl
est le modèle pour l'adresse utilisée dans les liens interwikis. indique le nom du wiki. indique le titre de l'article. Il existe des chances pour que cette variable ressemble à.

Options de configuration pour le Wiki principal
Depuis que le fichier de configuration par défaut du wiki a été créé automatiquement quand Farmer a été lancé pour la première fois, plusieurs paramètres doivent être renseignés. Vous devrez donc aller sur  de votre site pour les préciser. De vilaines choses risquent de vous arriver si vous négligez ce détail. Vous devrez vous y connecter avec un nom d'utilisateur disposant des privilèges farmeradmin</tt> lesquels sont attribués d'office aux administrateur. Dans la page de cette fonction, vous verrez un lien vers Administrer ce Wiki. Cliquez dessus.

Configuration du titre
Dans, votre wiki doit disposer impérativement d'un titre. Ce titre est créé une fois pour toute. Aussi, assurez-vous qu'il soit correct. Le titre en question est en réalité un alias de $wgSitename.Il est donc aussi le nom de l'espace Project</tt>.

Description
Description consiste en un texte décrivant le wiki. Il peut être modifié à tout moment. Il est utilisé dans le répertoire de Farm.

Permissions
Il établit les permissions de votre wiki principal. Toutes les habilitations dont désactivées par défaut. Vous devrez probablement les activer pour les personnes pour lesquels vous désirez leur donner accès. Set the permissions for your default wiki. All permissions default to closed. You will probably want to open up your wiki so people can actually edit it.

Utilisation de Farmer
Une des interfaces avec Farmer depuis. Depuis là, on peut créer plusieurs tâches.

<!--

Creating Wikis
Wikis can be created by following a link on Special:Farmer. This link is only available if the following conditions are met


 * 1) You are currently on the default wiki
 * 2) The current user has the createwiki privilege (by default assigned to the sysop group)

When you click on the link, you will see a web form with three elements.


 * Wiki Name : The name of your wiki. This will be used as part of the URL.  The name is reduced to lowercase and all non-alphanumeric characters are removed.
 * Wiki Title : The title of your wiki. This is effectively $wgSitename.  Spaces are removed for interwiki prefix compatibility.
 * Description : Description of your wiki to appear in wiki farm directory

Once you have filled out these form elements, press the button to verify them. The next page will show you what the values were modified to (if necessary). It will also give you some basic information about how your wiki will work (what the URL is, project links, etc).

To confirm that these settings are correct, press the Confirm button.

When you press the button, the following happens:


 * 1) Your wiki's basic config file is generated with the information you supplied
 * 2) The SQL in the file specified by Farmer's newDbSourceFile configuration setting is executed, creating the necessary tables
 * 3) The wiki's main page is set to the content defined in the farmernewwikimainpage system message
 * 4) The new wiki's system messages are populated
 * 5) The interwiki table is updated with a reference to this wiki
 * 6) The person who created this wiki is added to a group of the name  [farmer][wikiname][admin] , where wikiname is the name of the wiki.

If everything works, you should see a message saying your wiki was created. This message will contain a link to your new wiki.

Managing Wikis
Farmer allows system operators as well as per-wiki admins to have control over some aspects of individual wikis. These controls can be found at Special:Farmer/admin. Currently, these controls just allow you to set the wiki description and define permissions for your wiki. In the future, it is hoped to provide a much more verbose interface to other variables.

Manage Extensions
Farmer allows farmer administrators to define extensions which can be selected for loading by member wikis.

Defining Loadable Extensions
Users with the farmeradmin privilege may access Special:Farmer/manageExtensions to define extensions which can be used by wikis in the farm.

On this page, you will see a list of extensions which are already loaded, a list of PHP's include peth, and a form to define a new extension.

Unfortunately, MediaWiki does not have a good interface to abstract loading extensions. So, we have to give Farmer the filenames of extensions we wish to load. If the filename is incorrect, don't worry. Farmer verifies that the file exists and is includable before adding an extenion to its list. If there was a problem adding an extension, Farmer will say so.

Per-Wiki Extension Management
Child wiki administrators may go to Special:Farmer/admin to select which loadable extensions to activate on a particular wiki. -->

Voir aussi

 * Extension:Read Restrict
 * Manual:Wiki family