Carnet Wiki

MesOptions

Cette page wiki est la mise à jour actualisée de la contrib « Paramétrage avancé d’un spip SPIP avec le fichier mes_options »

le fichier mes_options.php

Ne confondez pas : mes_options.php et mes_fonctions.php , ce ne sont pas les mêmes fichiers. (mes_options.php étant nouveau dans la version 1.7)

Le fichier mes_options.php se situe dans le répertoire config. S’il n’existe pas avant votre intervention, il faut le créer. En éditant (par exemple avec Wordpad) le fichier ecrire/inc_version.php et en suivant les instruction du commentaire lignes 80 à 125 (Spip 1.6). voir les lignes 208 et suivantes dans spip1.8
Il sert au paramétrage avancé d’un site SPIP, pour modifier des fonctionnalités pour lesquelles la partie privée ne propose pas d’interface.

Ce fichier est inclus automatiquement lorsqu’il existe à l’exécution de SPIP, lors de l’affichage de chaque page de la partie privée et publique, contrairement à mes_fonctions, qui est mis en cache, à confirmer

C’est dans mes_options.php qu’on spécifie la liste des champs extras pour le site avec leurs caractéristiques. (voir tutorial avec lien)

C’est là également qu’on modifie la valeur de variables PHP utiles au fonctionnement interne de SPIP.

C’est un fichier PHP donc il commence par <?php et il termine par ?>

Les variables de configuration et leur caractéristiques

Ces paramètres peuvent etre modifiés dans ecrire/mes_options.php
Les valeurs specifiées dans ce dernier fichier remplaceront automatiquement les valeurs prédéfinies. La plupart de ces variables sont initialisées dans le fichier ecrire/inc_version.php, dont sont extraites les valeurs indiquées ci dessous.

Préfixe des tables dans la base de donnees
(pour avoir plusieurs sites SPIP dans une seule base)
$table_prefix = "spip" ;

Préfixe des cookies
pour installer des sites SPIP dans des sous-repertoires...
$cookie_prefix = "spip" ;
Attention : si vous modifiez cette valeur, il faut absolument choisir un $cookie_prefix ne commençant pas par spip : ni spip2 ni spip_autre ne fonctionneront. Choisissez spop, alouette ou hop...

Dossier des squelettes
Spécifie le répertoire dans lequel les squelettes sont rangés. Cela permet d’alléger le répertoire racine, et de tester différentes versions de squelettes en facilitant le passage de l’un à l’autre.
$dossier_squelettes = "" ;

Personnaliser la puce par défaut
Le raccourci typo "- " génère le code suivant : <img class='spip_puce' src='puce.gif' alt='-' border='0'>. Pour désigner une autre puce ou modifier les attributs de la balise <img>, il suffit de renseigner la valeur de la variable globale ’puce’ de la manière suivante :
$GLOBALS['puce'] = "<img src='mapuce.png' alt='puce' class='monstyledepuce' />";
Note : ’est une bonne astuce pour rendre conforme le code produit par SPIP selon que vous souhaitez obtenir une conformité html/xhtml transitionnal/strict.

SPIP doit-il compresser les pages a la volée quand le navigateur l’accepte ? (valable pour apache 1.3 seulement)
$auto_compress = true ;

Faut-il enregistrer les infos de debug dans le fichier de log data/spip.log ? (peu utilisé, au point que ça a disparu du code, non ,)
$debug = false ;

Faut-il passer les connexions MySQL en mode debug ?
$mysql_debug = false ;

Faut-il chronométrer les requetes MySQL ?
$mysql_profile = false ;

Faut-il faire des connexions completes rappelant le nom du serveur et de la base MySQL ? (utile si vos squelettes appellent d’autres bases MySQL)
$mysql_rappel_connexion = false ;

Faut-il afficher en rouge les chaines non traduites ?
$test_i18n = false ;

Faut-il souligner en gris, dans ecrire/articles.php, les espaces insecables ?
$activer_revision_nbsp = false ;

Gestion des extras (voir ecrire/inc_extra.php et le tutorial pour plus d’informations)
$champs_extra = false ;
$champs_extra_proposes = false ;

Faut-il ignorer l’authentification par auth http/remote_user ?
cela permet d’avoir un SPIP sous .htaccess (ignore_remote_user), mais aussi de fonctionner sur des serveurs debiles se bloquant sur PHP_AUTH_USER=root (ignore_auth_http)
$ignore_auth_http = false ;
$ignore_remote_user = false ;

url utilisée pour le glossaire
// lien vers le glossaire, raccourcis [?mot]
$GLOBALS[’url_glossaire_externe’] = "" ;

Gestion fine de la typographie
Les fonctions avant_propre(), apres_propre(), avant_typo() et apres_typo(), permettent diverses interventions dans ecrire/inc_texte.php pour affiner la typographie (par exemple pour ajouter de nouveaux raccourcis typographiques. C’est signalé brièvement dans la doc officielle et dans une contrib récapitulative (archive). Il y a plusieurs autres contribs, qui utilisent ces fonctions :
-  Génération automatique de numerotation, table des matières et références
-  Du joli code dans les articles

pour un "saut automatique" vers l’URL &lang=xxxx
Typiquement, ce sera utilisé pour la page de login.
$forcer_lang=true ;

Réécriture des URLs
$type_urls = "standard" ;
$type_urls = "html" ;
$type_urls = "propres" ;
$type_urls = "propres2" ;
$type_urls = "propres-qs" ; //SPIP 1.9
$type_urls = "propres_qs" ; //SPIP 2

Explication détaillée de la mise en place des URLs personnalisées

Autres variables

Consulter le fichier ecrire/inc_version.php La plupart des variables sont surchargeables.

Exemples d’utilisations

-  contenu de mes_options.php lorsque les squelettes sont dans le répertoire placard

<?php
$dossier_squelettes = "./placard";
// ou bien :
//  $GLOBALS['dossier_squelettes'] = "design"; 
// ?
// Remarques : les .php qui sont en liens doivent être à la racine 
// (sommaire.php, rubriques.php, articles.php...)
// Ceux qui sont appelés par <INCLURE> dans un squelette peuvent être 
// dans le dossier du squelette (design en l'occurence dans votre cas)
?>

-  $table_prefix et $cookie_prefix pour mettre plusieurs SPIP sur une même base

-  $flag_ImageCreateTrueColor et $flag_ImageCopyResampled pour modifier et souvent améliorer la manière avec laquelle SPIP génère les vignettes
— (Antoine) : c’est franchement idiot comme exemple ! Si la génération de vignettes fonctionne comme actuellement, il y a des raisons à cela. Il serait plus utile de trouver un moyen d’améliorer la détection automatique des fonctions utilisées que de proposer au webmestre de bidouiller des options en PHP !
(jpyrat) Cette option n’a plus lieu d’être depuis la 1.7.2 qui permet dans l’interface d’admin de choisir entre GD, GD2, convert et imagik ;-)

-  le tutorial des extras
— Lien ?

Questions

compression du flux http
« SPIP doit-il compresser les pages a la volée quand le navigateur l’accepte ? (valable pour apache 1.3 seulement) »
Écrire « $auto_compress = false ; » fait il demander à SPIP à apache de ne pas compresser le flux http, ou ce réglage est il justement fait pour laisser la compression au serveur http (apache ou aute) ??

Et aussi

-  La taille du cache est donné par $quota_cache (en Mo, donc par défaut à 5)

J-Luc iban - Mise à jour :28 octobre 2016 à 14h31min