Un cas intéressant d’utilisation de Spip est de le considérer comme un gestionnaire de base de données.
Dans mon cas, je dois séparer (pour des raisons de confidentialités) la saisie de données concernant des événements, du site principal sur lequel seront affichés les dites données.
Donc d’un côté, j’ai le site principal ABC.com lequel tourne sur Spip.
De l’autre côté, j’ai le site secondaire XYZ.com sur lequel tourne aussi du Spip, mais qui ne doit pas afficher de données directement.
Dans un premier temps, je dois rediriger l’ensemble des requêtes d’interrogation du site XYZ.com vers ABC.com, à l’exception de la partie administration.
Je crée un répertoire squelettes dans l’arborescence SPIP de XYZ.com et y mets un 404.html
Ce fichier sera appelé lorsque l’utilisateur tentera d’afficher des pages de XYZ.com
Le fichier 404.html contient
Ensuite, je dois gérer des événements via Spip sur XYZ.com.
J’ai donc installé le plugin agenda pour gérer des dates associées à un article.
La création d’auteurs, puis d’articles dans Spip ne pose pas de problèmes particuliers ensuite.
Pour faire dialoguer XYZ.com et ABC.com, à l’aide de la communauté Spip, j’ai pris l’option JSON.
Le fonctionnement est le suivant :
Une page lesdatas.html sur le site XYZ.com liste les événements et leurs données principales, au format JSON
Une page ladata.html sur le site XYZ.com donne les informations concernant un évenement, au format JSON
Un mécanisme sur ABC.com lit les pages précédentes. Ce mécanisme se base sur un modèle Spip, afin d’être utilisable par des rédacteurs dans Spip.
La liste des événements contient :
l’identifiant de chaque article/événement
le titre de chaque article/événement
la date de chaque article/événement
le site de chaque article/événement
La page lesdatas.html qui liste les 15 prochains événements se trouve dans le répertoire squelettes et contient :
Les informations sont :
titre de l’événement (stocké dans le titre de l’article Spip)
la description de l’événement (stocké dans le texte de l’article Spip)
le nom du site (stocké dans le nom de l’auteur associé à l’article Spip)
les modalités (stockés dans le post-scriptum de l’article Spip)
les dates de l’événement (stockées dans les événements de l’agenda de l’article Spip)
les coordonnées GPS de l’événement (stockées dans l’adresse de l’auteur de l’article Spip)
La page ladata.html se trouve dans le répertoire squelettes et contient :
Côté ABC.com, un modèle permettra à un rédacteur d’inclure les informations sur les prochains événement.
Ce modèle va lire les données au format JSON et générer un tableau.
La page eve.html se trouve dans le répertoire /squelettes/modeles et contient :
Le rédacteur Spip sur ABC.com intègrera la liste générée via la balise
dans son article.