Les possibilites multi-bases

  comment SPIP masque le problème d’accès au SGBD

SPIP est doté de capacités multi-bases et multi-tables, qui permettent d’utiliser son langage de squelettes pour présenter des extractions Web (non modifiables) de toute table SQL.

Article publié le 28 décembre 2012, et actualisé en août 2018

 
 
 
 
 
 
 
 

Ce sujet présente les pistes d’extension des usages de SPIP, à partir d’un point de vue conceptuel, qui semblera peut-être très technique à certains non habitués aux langages des bases de données et requeteurs, mais offrent des solutions d’accès peu couteuses et ergonomiques sans trop d’effort.

Ces possibilités s’articulent autour de plusieurs fonctionnalités :
- la gestion multi-moteurs : SPIP est capable de lire des tables SQL sur les moteurs PostgreSQL/PostGIS, MySQL et SQLite (également Oracle et M$SQL, et potentiellement d’autres si l’interface ./ecrire/req/ était transposée) [1]
- la gestion multi-base : SPIP peut utiliser plusieurs bases de données simultanément dans les mêmes squelettes (en déclarant plusieurs fichiers de connexion, et en préfixant du bon nom de fichier la table balayée dans l’instruction principale de boucle.) [2]
- la gestion multi-table : les squelettes peuvent boucler sur des tables non natives de SPIP , qui peuvent être déclarées à SPIP (par un plugin ou implicitement).
- les balises statiques de champs : SPIP reconnait la structure de la table par interrogation SQL, et permet donc d’utiliser nativement les noms de champs d’origine dans les squelettes,
- l’utilisation de critères : le langage de boucles autorise l’utilisation directe des noms de champs dans les critères
- les tris paramétrés : plus que les critères de tri (précédés par l’instruction par), c’est l’usage de la nouvelle balise #TRI qui rend cette facilité éminemment simple d’usage
- SPIP permet même de déclare, voire d’utiliser automatiquement des jointures dans les squelettes, sous réserve que les tables à joindre, déclarées à SPIP, possèdent un champ homonyme, pris comme jointure...
- l’usage de Vertèbres (taper : ecrire/?exec=vertebres, réservé aux WebMestres) permet de visualiser à la volée toutes les tables présentes dans une base, et même de générer un squelette-ecran de visualisation ré-utilisable ensuite dans vos squelettes personnels.
- l’accès intégré (par ajout d’un plugin) à PhpMyAdmin, ou plutôt maintenant à Adminer permet aussi au webmestre de tester ses requetes SQL, voire de modifier ses données en cas d’erreur..


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Pour des questions de licences, SPIP n’utilisait pas des bibliothèques type ADO, même si l’interface y serait adaptable..

[2Toutefois, l’édition des objets éditoriaux reste limitée, par sécurité, au jeu de tables principal du SPIP actif, celui qui définit l’authentification des utilisateurs connectés !


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 28 décembre 2012, et actualisé en août 2018 .

Répondre à cet article