Prefix

  un prefixe aux tables pour distinguer deux SPIP


SPIP utilise une base de données SQL, dans lequel chaque site doit extraire les données d’un jeu de tables ARTICLES, RUBRIQUES etc..

A l’installation, ce préfixe est automatiquement proposé à spip_ ; mais vous pouvez le différentier....

Le prefixe permet de choisir le jeu de tables concerné par ce site.

 
 
 
 
 
 
 
 

Le principe

Comment fonctionne un Site Internet ? De façon simple, on considère que :
un site SPIP, c’est (cf. Pre-requis Techniques) :
- un espace Web avec le source de Squelettes de la "dist"
- une base de données avec les tables associées
donc un lien défini dans le fichier ./config/connect.php

Plus précisément, cet unique fichier de configuration générale de SPIP établit l’association entre

  • le site (son URL de base, l’espace des scripts php associés -y compris les squelettes- sans oublier le répertoire ./IMG/ des documents joints),
  • et les données dynamiques stockées dans un ensemble [1] de tables SQL sur un serveur de SGBD, sécurisé /comme SPIP lui-même/ avec un code d’identification et un mot de passe d’accès.

Chaque jeu de tables SQL comporte toutes les informations nécessaires au fonctionnement d’un espace SPIP, ce sont les tables homonymes des principaux objets éditoriaux natifs de SPIP : elles correspondent presque exactement aux BOUCLES de SPIP ; les relations (hiérarchiques ou liens) entre ces tables principales sont aussi stockées en tables, ce qui permettra des jonctions automatiques.

Mais parfois, on peut vouloir/devoir utiliser plusieurs jeux de tables dans la même base (avec le même identifiant de droits de connexion) : cela est prévu d’origine comme une option transparente, pilotée par une variable de configuration système, le fameux $prefix. SPIP et les plugins utilisent aussi ce préfixe par défaut positionné à spip_ : vous le verrez en tête des noms de tables que vous observez avec phpMyAdmin ou SQLiteManager, et il est choisi à l’installation (regardez Installer mon premier SPIP local sur PC, ou un spip en 15mn... suite (et fin ! )..)

Quelques règles  : pour saisir un préfixe personnalisé à l’installation de Spip

  • le préfixe est écrit en minuscules,
  • lettres non accentuées (ASCII-128),
  • ne commencez pas par un chiffre,
  • ne mettez pas de souligné, Spip l’ajoutera comme fin du préfixe.

Si vous avez accès au répertoire ./config, vous en trouverez aussi mention en dernier paramètre de la ligne suivante de ./config/connect.php :

  1. spip_connect_db('localhost','','login,'password','database_name','mysql', 'spip','');

après la valeur indiquant le type de base de données (mysql dans notre exemple).

Attention : dans les très anciennes installations de SPIP, la valeur de $prefix n’était pas modifiable à l’installation, et devait être programmée en dur dans le fichier mes_options.php : vérifiez aussi l’existence et le contenu de ce fichier (optionnel) !

Les fonctions de l’API Spip gèrent automatiquement ce préfixe, donc également les plugins "bien programmés" utilisant le jeu de fonctions d’abstraction SQL de SPIP... En particulier le Vertebres [2] vous permettra d’afficher toutes les tables de la base commençant par votre préfixe courant...

Si vous avez besoin d’appeler la table par son nom physique, pour CONSTRUIRE son SQUELETTE vous utiliserez le préfixe standard spip_ !


Merci de nous signaler les coquilles ou erreurs qui figureraient dans cette page.

[1On dit un jeu de tables SPIP !

[2?exec=vertebres réservé au webmestre


Liens visibles seulement pour les inscrits.

Article publié le 11 juillet 2012, et actualisé en juillet 2015 .

Répondre à cet article