« LINUX:MediaWiki - Espace de noms » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 12 : Ligne 12 :
On peut en avoir une liste via l'URL suivante: <nowiki>http://serverdb.home.dom/wiki/api.php?action=query&meta=siteinfo&siprop=namespaces</nowiki>
On peut en avoir une liste via l'URL suivante: <nowiki>http://serverdb.home.dom/wiki/api.php?action=query&meta=siteinfo&siprop=namespaces</nowiki>


Ils vont par paire qui se suivent (sauf les n° négatifs). Le n° paire correspond à la page principale, le n° impaire à la page correspondante pour les discussions.
Ils vont par paire qui se suivent (sauf les n° négatifs). Le n° paire correspond à la page proprement dite, le n° impaire suivant correspond à la page correspondante pour les discussions.


Quelques principaux que l'on rencontre habituellement:
Quelques principaux que l'on rencontre habituellement:
* -1 : Spécial : Espace des pages spéciales
* -1 : Spécial : Espace des pages spéciales
* 0 : sans nom : Espace principal des pages du site
* 0 : sans nom : Espace principal des pages du site
* 1 : Discussions : Espace de discussion du précédent (note: nous ne citerons pas les autres ^pour ne pas alourdir l'exposé)
* (1 : Discussion : Espace de discussion du précédent Note: nous ne citerons pas les autres espaces de discussions pour ne pas alourdir l'exposé)
* 2 : Utilisateur : Espace des pages des utilisateurs
* 2 : Utilisateur : Espace des pages des utilisateurs
* 6 : Fichier : Espace des fichiers téléchargés
* 6 : Fichier : Espace des fichiers téléchargés
Ligne 25 : Ligne 25 :




=Espaces de nom personnels=
=Espaces de noms personnels=
Il est possible d'en créer d'autres en les définissant dans le fichier "LocalSettings.php".  
Il est possible d'en créer d'autres en les définissant dans le fichier "LocalSettings.php".  


Il faut attribuer un n° assez haut car nombre d'extensions en définissent pour eux. Voyer la documentation de MediaWiki à l'URL <nowiki>https://www.mediawiki.org/wiki/Extension_default_namespaces</nowiki> Pour ma part je commence à partir du n° 5000.
Il faut attribuer un n° assez haut car nombre d'extensions en définissent pour eux. Voyez la documentation de MediaWiki à l'URL <nowiki>https://www.mediawiki.org/wiki/Extension_default_namespaces</nowiki> Voyez aussi les n° existants dans votre configuration grâce à l'URL citée au point précédent. Pour ma part je commence à partir du n° 5000.


Voici un exemple pour l'espace de nom "BIBLIO" dans le fichier "LocalSettings.php":
Voici un exemple pour l'espace de nom "BIBLIO" dans le fichier "LocalSettings.php":
Ligne 38 : Ligne 38 :
  $wgExtraNamespaces[NS_BIBLIO] = "BIBLIO";
  $wgExtraNamespaces[NS_BIBLIO] = "BIBLIO";
  $wgExtraNamespaces[NS_BIBLIO_T] = "BIBLIO_T";
  $wgExtraNamespaces[NS_BIBLIO_T] = "BIBLIO_T";
# Attribution des droits
$wgGroupPermissions['BIBLIO'] = $wgGroupPermissions['sysop'];
$wgGroupPermissions['BIBLIO_T'] =  $wgGroupPermissions['user'];
----
----
L'espace de nom "BIBLIO_T" correspond aux pages de discussion.
L'espace de nom "BIBLIO_T" correspond aux pages de discussion de l'espace "BIBLIO". Ces noms de peuvent comporter d'espace ni de tiret; on les remplacent par un souligné ("_").


Par défaut les utilisateurs enregistrés ont les tous les droits classiques; ici on a restreint les droits de gestion aux administrateurs.
Et donc, par exemple, pour mettre la page "Menu" sous l'espace de nom "BIBLIO", sa référence devient "BIBLIO:Menu" au lieu de "menu" s'il se trouvait sous l'espace de nom n° 0.




L’intérêt d'en créer d'autres est de classer nos pages par grand thème. Ceci permet également d'attribuer des permissions personnalisées à chaque "Namespace" à des groupes d'utilisateurs. En entreprise, ceci m'a permit de créer un espace à part pour chaque service et d'attribuer au service correspondant la possibilité de créer leur propres pages dans leur espace, les autres services n'ayant que le droit de les consulter et ainsi de partager leur expérience. On peut aussi rendre accessible des informations confidentielles qu'à des groupes d'utilisateurs ciblés, par exemple, les procédures ISO. Par défaut, MediaWiki ne permet pas ce découpage. Pour y arriver, il nous faut installer l'extension "Lockdown". Les permissions sont à définir dans le fichier "LocalSettings.php". Nous n'aborderons pas ce point.
L’intérêt d'en créer d'autres est de classer nos pages par grand thème. Ceci permet également d'attribuer des permissions personnalisées à chaque "Namespace" à des groupes d'utilisateurs. En entreprise, ceci m'a permit de créer un espace à part pour chaque service et d'attribuer au service correspondant la possibilité de créer leur propres pages dans leur espace, les autres services n'ayant que le droit de les consulter et ainsi de partager leur expérience. On peut aussi rendre accessible des informations confidentielles qu'à des groupes d'utilisateurs ciblés, par exemple, les procédures ISO.  




=Extension NSFileRepo=
L'extension NSFileRepo permet d'étendre cette notion aux fichiers. Par exemple, pour mettre le fichier "Le_Chat.png" sous l'espace de nom "BIBLIO", sa référence devient "Fichier:BIBLIO:Le_Chat.png" au lieu de "Fichier:Le_Chat.png".
Mais son installation demande un minimum de paramétrage:
* Dans le fichier "LocalSettings.php", on met:
----
wfLoadExtension( 'NSFileRepo' );
$wgUploadPath = "$wgScriptPath/nsfr_img_auth.php";
----
Et il faut créer un lien symbolique au niveau de la racine du logiciel vers le fichier "nsfr_img_auth.php" de cette extension:
----
#!/bin/csh
cd /web/wiki.39
ln -s extensions/NSFileRepo/nsfr_img_auth.php
----
Dans mon cas, je rencontre un problème depuis de nombreuses années. Je dois faire une modification dans le fichier "extensions/NSFileRepo/nsfr_img_auth.php" sinon les images ne s'affichent pas.
La ligne 50 de ce script:
----
require __DIR__ . '/includes/WebStart.php';
----
est à remplacer par les lignes:
----
$baseDir = dirname( $_SERVER['SCRIPT_FILENAME'] );
require ( $baseDir . '/includes/WebStart.php' );
unset( $baseDir );
----
Dans la version d'origine, le fichier "WebStart.php" est cherché dans le répertoire "/web/wiki.39/extensions/NSFileRepo/includes" alors que ce fichier se trouve dans le répertoire "/web/wiki.39/includes".
L'extension "Lockdown" permet de donner des droits très précis. Si vous l'utilisez, son chargement doit se faire avant celle de l'extension NSFileRepo.





Dernière version du 3 février 2024 à 11:18


retour au menu de MediaWiki


But

L'ensemble des pages de MediaWiki ou "NameSpaces" sont séparés en plusieurs parties. Il est possible d'en ajouter.


Quelques espaces de nom standard

Chaque espace de nom est référencé par un numéro. A chacun de ceux-ci est attribué un nom. On peut changer ce nom tant qu'on n'a pas encore mis d'information le concernant.

On peut en avoir une liste via l'URL suivante: http://serverdb.home.dom/wiki/api.php?action=query&meta=siteinfo&siprop=namespaces

Ils vont par paire qui se suivent (sauf les n° négatifs). Le n° paire correspond à la page proprement dite, le n° impaire suivant correspond à la page correspondante pour les discussions.

Quelques principaux que l'on rencontre habituellement:

  • -1 : Spécial : Espace des pages spéciales
  • 0 : sans nom : Espace principal des pages du site
  • (1 : Discussion : Espace de discussion du précédent Note: nous ne citerons pas les autres espaces de discussions pour ne pas alourdir l'exposé)
  • 2 : Utilisateur : Espace des pages des utilisateurs
  • 6 : Fichier : Espace des fichiers téléchargés
  • 10 : Modèle : Espace des modèles, pages paramétrables que l'on peut appeler à partir d'autres pages
  • 14 : Catégorie : Espace des catégories, index de groupes de pages

Ces noms sont en français dans notre cas mais leurs noms de référence sont en anglais.


Espaces de noms personnels

Il est possible d'en créer d'autres en les définissant dans le fichier "LocalSettings.php".

Il faut attribuer un n° assez haut car nombre d'extensions en définissent pour eux. Voyez la documentation de MediaWiki à l'URL https://www.mediawiki.org/wiki/Extension_default_namespaces Voyez aussi les n° existants dans votre configuration grâce à l'URL citée au point précédent. Pour ma part je commence à partir du n° 5000.

Voici un exemple pour l'espace de nom "BIBLIO" dans le fichier "LocalSettings.php":


# Définition des n°
define("NS_BIBLIO", 5000);
define("NS_BIBLIO_T", 5001);
# Attribution du nom
$wgExtraNamespaces[NS_BIBLIO] = "BIBLIO";
$wgExtraNamespaces[NS_BIBLIO_T] = "BIBLIO_T";

L'espace de nom "BIBLIO_T" correspond aux pages de discussion de l'espace "BIBLIO". Ces noms de peuvent comporter d'espace ni de tiret; on les remplacent par un souligné ("_").

Et donc, par exemple, pour mettre la page "Menu" sous l'espace de nom "BIBLIO", sa référence devient "BIBLIO:Menu" au lieu de "menu" s'il se trouvait sous l'espace de nom n° 0.


L’intérêt d'en créer d'autres est de classer nos pages par grand thème. Ceci permet également d'attribuer des permissions personnalisées à chaque "Namespace" à des groupes d'utilisateurs. En entreprise, ceci m'a permit de créer un espace à part pour chaque service et d'attribuer au service correspondant la possibilité de créer leur propres pages dans leur espace, les autres services n'ayant que le droit de les consulter et ainsi de partager leur expérience. On peut aussi rendre accessible des informations confidentielles qu'à des groupes d'utilisateurs ciblés, par exemple, les procédures ISO.


Extension NSFileRepo

L'extension NSFileRepo permet d'étendre cette notion aux fichiers. Par exemple, pour mettre le fichier "Le_Chat.png" sous l'espace de nom "BIBLIO", sa référence devient "Fichier:BIBLIO:Le_Chat.png" au lieu de "Fichier:Le_Chat.png".

Mais son installation demande un minimum de paramétrage:

  • Dans le fichier "LocalSettings.php", on met:

wfLoadExtension( 'NSFileRepo' );
$wgUploadPath = "$wgScriptPath/nsfr_img_auth.php";

Et il faut créer un lien symbolique au niveau de la racine du logiciel vers le fichier "nsfr_img_auth.php" de cette extension:


#!/bin/csh
cd /web/wiki.39
ln -s extensions/NSFileRepo/nsfr_img_auth.php


Dans mon cas, je rencontre un problème depuis de nombreuses années. Je dois faire une modification dans le fichier "extensions/NSFileRepo/nsfr_img_auth.php" sinon les images ne s'affichent pas.

La ligne 50 de ce script:


require __DIR__ . '/includes/WebStart.php';

est à remplacer par les lignes:


$baseDir = dirname( $_SERVER['SCRIPT_FILENAME'] );
require ( $baseDir . '/includes/WebStart.php' );
unset( $baseDir );

Dans la version d'origine, le fichier "WebStart.php" est cherché dans le répertoire "/web/wiki.39/extensions/NSFileRepo/includes" alors que ce fichier se trouve dans le répertoire "/web/wiki.39/includes".


L'extension "Lockdown" permet de donner des droits très précis. Si vous l'utilisez, son chargement doit se faire avant celle de l'extension NSFileRepo.





retour au menu de MediaWiki