Présentation des modules xml du plugin “Info SPIP”

Comme vous avez pu lire dans l’article de présentation du plugin “Info SPIP”, ce dernier vous offre un “webservice” par le biais d’un XML.

Je vais vous décrire module par module la structure générée du XML. Hors besoin très spécifique, la structure sera la même pour de prochains modules fournis par le plugin ou que vous développerez pour vos propres besoins.

Préambule

Le fichier XML qui est fourni par ce plugin commence par un tag <config> qui contiendra tous les autres tags XML.
Il ne contient pas le tag <?xml version="1.0" encoding="UTF-8"?>.
Étant donné que nous allons “créé” un fichier XML, le texte est encodé/échappé en conséquence pour éviter des erreurs d’interprétations XML.

Informations de base

ATTENTION : ceci n’est pas un module. En effet, ces tags XML sont les informations données à l’activation du plugin.
Nous aurons les informations relatives à notre site :

<nom_site value="Mon site SPIP" />
<logiciel nom="SPIP" version="3.0.17" revision="21515" />
<date_creation value="2014-09-09 21:46:19" />
<fo url="http://localhost:8888/supervision" />
<type_site value="prod" />
  • nom_site : est le nom du site (#NOM_SITE_SPIP) ;
  • logiciel : le nom du logiciel (SPIP ici), sa version et la révision du CMS/logiciel ;
  • date_creation : la date donnée est la date de création du fichier de connexion à la bdd (cf. config/connect.php. Le format de la date est le datetime MYSQL (cf. AAAA-MM-JJ HH:MM:SS)
  • fo (Front Office) : l’url est équivaut à #URL_SITE_SPIP ;
  • type_site : donne le "statut » de notre site :
    • prod : Production ;
    • prep : Pré-production ;
    • rec : Recettes ;
    • dev : Développement.

Module « Informations sur le serveur »

Ce module nous donnera les informations relatives à notre serveur :

  1. <applicatif path="/Sites/supervision/" port="8888" logiciel="Apache/2.2.16 (Debian)" nom="localhost:8888/" />

On récupére ces différentes informations grâce à la super globale de PHP : $_SERVER.

  • path : est le chemin sur le serveur pour retrouver les fichiers de notre site internet ;
  • port : est le port pour accéder à notre site ;
  • logiciel : le ou les logiciels du serveur qui font tourner notre site internet ;
  • nom : Le nom du serveur hôte qui exécute le script. Si le script est exécuté sur un hôte virtuel, ce sera la valeur définie pour cet hôte virtuel.

Module “Modules Apache”

désolé pour la répétition dans le titre ;-)
Cette portion de XML nous donnera les modules apache présents et actifs sur notre serveur.
On repart sur le principe d’un tag englobant puis d’un tag pour chaque item.

<apache>
    <module nom="core" />
    <module nom="http_core" />
    <module nom="mod_so" />
    <module nom="sapi_appache2" />
    <module nom="mod_mime" />
    <module nom="mod_rewrite" />
</apache>

Veuillez vous référer à la fonction PHP apache_get_modules() pour plus d’informations.

Module « Extensions PHP »

On va lister ici les noms des extensions de PHP présents et activées sur le serveur hébergeant notre site. La fonction PHP get_loaded_extensions() est utilisée ici.

<php version="5.5.10" memory="128M">
    <extension nom="bcmath" />
    <extension nom="calendar" />
    <extension nom="db" />
    <extension nom="ftp" />
    <extension nom="gd" />
    <extension nom="pcre" />
    <extension nom="pgsql" />
    <extension nom="posix" />
    <extension nom="session" />
    <extension nom="standard" />
    <extension nom="wddx" />
    <extension nom="xml" />
</php>

On peut constater que le tag <php> possède 2 attributs : version et memory (cf. memory_limit

Module « Liste des plugins »

On va lister les plugins présents sur notre site qu’ils soient actifs, inactifs ou faisant parti de la distribution de SPIP.
On aura dans le xml un tag englobant <plugins> puis un tag <plugin> donnant les informations principales du plugin.

<plugins>
    <plugin prefixe="BREVES" version="1.3.6" nom="Brèves" statut="dist"/>
    <plugin prefixe="COMPAGNON" version="1.4.1" nom="Compagnon" statut="dist"/>
    <plugin prefixe="COMPRESSEUR" version="1.8.8" nom="Compresseur" statut="dist"/>
    <plugin prefixe="DUMP" version="1.6.7" nom="Dump" statut="dist"/>
    <plugin prefixe="FORUM" version="1.8.34" nom="Forum" statut="dist"/>
    <plugin prefixe="IMAGES" version="1.1.9" nom="Images" statut="dist"/>
    <plugin prefixe="JQUERYUI" version="1.8.21" nom="jQuery UI" statut="dist"/>
    <plugin prefixe="MEDIABOX" version="0.8.5" nom="MediaBox" statut="dist"/>
    <plugin prefixe="MEDIAS" version="2.7.59" nom="Medias" statut="dist"/>
    <plugin prefixe="MOTS" version="2.4.12" nom="Mots" statut="dist"/>
    <plugin prefixe="MSIE_COMPAT" version="1.2.0" nom="Support vieux navigateurs" statut="dist"/>
    <plugin prefixe="ORGANISEUR" version="0.8.10" nom="Organiseur" statut="dist"/>
    <plugin prefixe="PETITIONS" version="1.4.6" nom="Pétitions" statut="dist"/>
    <plugin prefixe="PORTE_PLUME" version="1.12.4" nom="Porte plume" statut="dist"/>
    <plugin prefixe="REVISIONS" version="1.7.8" nom="Révisions" statut="dist"/>
    <plugin prefixe="SAFEHTML" version="1.4.1" nom="SafeHTML" statut="dist"/>
    <plugin prefixe="SITES" version="1.7.13" nom="Sites" statut="dist"/>
    <plugin prefixe="SQUELETTES_PAR_RUBRIQUE" version="1.1.1" nom="Squelettes par Rubrique" statut="dist"/>
    <plugin prefixe="STATS" version="0.4.23" nom="Statistiques" statut="dist"/>
    <plugin prefixe="SVP" version="0.80.18" nom="SVP" statut="dist"/>
    <plugin prefixe="TW" version="0.8.24" nom="TextWheel pour SPIP" statut="dist"/>
    <plugin prefixe="URLS" version="1.4.23" nom="Urls Etendues" statut="dist"/>
    <plugin prefixe="VERTEBRES" version="1.2.2" nom="Vertèbres" statut="dist"/>
    <plugin prefixe="CEXTRAS" version="3.2.7" nom="Champs Extras" statut="actif"/>
    <plugin prefixe="CONTACTS" version="2.10.15" nom="Contacts & Organisations" statut="actif"/>
    <plugin prefixe="COORDONNEES" version="2.3.3" nom="Coordonnées" statut="actif"/>
    <plugin prefixe="SIMPLOG" version="1.0.4" nom="Simples Logs" statut="inactif"/>
</plugins>

Pour chaque tag <plugin> nous avons 4 attributs :

  • prefixe : le préfixe du plugin ;
  • version : le numéro de version renseignée du plugin ;
  • nom : le nom complet du plugin ;
  • statut : actif, inactif ou dist.

Module « Informations SGBD »

On liste les informations liées à notre base de données avec un seul tag :

  1. <sgbd serveur="localhost" port="" nom="supervision" type="mysql" prefixe="spip" version="5.5.34"/>

ATTENTION : on ne met pas ici le couple login et password pour des questions de sécurité.

Module “liste des administrateurs”

Ce module va lister les administrateurs du site et offre un premier tag <administrateurs>. Puis chaque administrateur, chaque individu équivaudra à un tag qui aura pour attribut les infos suivantes login, nom, email et identifiant.
Soit le rendu suivant :

<administrateurs>
    <administrateur id="123" nom="Toto" email="toto@example.org" login="Toto Spipeur" />
    <administrateur id="124" nom="Tata" email="Tata@example.org" login="Tata Spipeuse" />
</administrateurs>

Module “liste des webmestres”

Ce module va lister les webmestres du site. Il est construit sur le même principe que le module administrateur. Il offre le tag <webmestres>. Puis chaque webmestre, chaque individu équivaudra à un tag qui aura pour attribut les infos suivantes login, nom, email et identifiant.
Soit le rendu suivant :

<webmestres>
    <webmestre id="123" nom="Toto" email="toto@example.org" login="Toto Spipeur" />
    <webmestre id="124" nom="Tata" email="Tata@example.org" login="Tata Spipeuse" />
</webmestres>

Il ne faut pas oublier qu’un webmestre sous SPIP est aussi un administrateur. Il est donc normal de le retrouver dans la liste des administrateurs du site. Actuellement, s’il n’y est pas c’est qu’il doit y avoir un soucis quelque part. (Un administrateur webmestre qui est devenu rédacteur ?)

Rendu final

Au final, avec tous ces modules, nous aurons un fichier XML ressemblant à ceci :

<config>
	<nom_site value="Mon site SPIP" />
	<logiciel nom="SPIP" version="3.0.17" revision="21515" />
	<date_creation value="2014-09-09 21:46:19" />
	<fo url="http://localhost:8888/supervision" />
	<type_site value="prod" />
	<apache>
		<module nom="core" />
		<module nom="http_core" />
		<module nom="mod_so" />
		<module nom="sapi_appache2" />
		<module nom="mod_mime" />
		<module nom="mod_rewrite" />
	</apache>
	<applicatif path="/Sites/supervision/" port="8888" logiciel="Apache/2.2.16 (Debian)" nom="localhost:8888/" />
	<php version="5.5.10" memory="128M">
		<extension nom="bcmath" />
		<extension nom="calendar" />
		<extension nom="db" />
		<extension nom="ftp" />
		<extension nom="gd" />
		<extension nom="pcre" />
		<extension nom="pgsql" />
		<extension nom="posix" />
		<extension nom="session" />
		<extension nom="standard" />
		<extension nom="wddx" />
		<extension nom="xml" />
	</php>
	<administrateurs>
		<administrateur id="123" nom="Toto" email="toto@example.org" login="Toto Spipeur" />
		<administrateur id="124" nom="Tata" email="Tata@example.org" login="Tata Spipeuse" />
	</administrateurs>
	<webmestres>
		<webmestre id="123" nom="Toto" email="toto@example.org" login="Toto Spipeur" />
		<webmestre id="124" nom="Tata" email="Tata@example.org" login="Tata Spipeuse" />
	</webmestres>
	<plugins>
		<plugin prefixe="BREVES" version="1.3.6" nom="Brèves" statut="dist"/>
		<plugin prefixe="COMPAGNON" version="1.4.1" nom="Compagnon" statut="dist"/>
		<plugin prefixe="COMPRESSEUR" version="1.8.8" nom="Compresseur" statut="dist"/>
		<plugin prefixe="DUMP" version="1.6.7" nom="Dump" statut="dist"/>
		<plugin prefixe="FORUM" version="1.8.34" nom="Forum" statut="dist"/>
		<plugin prefixe="IMAGES" version="1.1.9" nom="Images" statut="dist"/>
		<plugin prefixe="JQUERYUI" version="1.8.21" nom="jQuery UI" statut="dist"/>
		<plugin prefixe="MEDIABOX" version="0.8.5" nom="MediaBox" statut="dist"/>
		<plugin prefixe="MEDIAS" version="2.7.59" nom="Medias" statut="dist"/>
		<plugin prefixe="MOTS" version="2.4.12" nom="Mots" statut="dist"/>
		<plugin prefixe="MSIE_COMPAT" version="1.2.0" nom="Support vieux navigateurs" statut="dist"/>
		<plugin prefixe="ORGANISEUR" version="0.8.10" nom="Organiseur" statut="dist"/>
		<plugin prefixe="PETITIONS" version="1.4.6" nom="Pétitions" statut="dist"/>
		<plugin prefixe="PORTE_PLUME" version="1.12.4" nom="Porte plume" statut="dist"/>
		<plugin prefixe="REVISIONS" version="1.7.8" nom="Révisions" statut="dist"/>
		<plugin prefixe="SAFEHTML" version="1.4.1" nom="SafeHTML" statut="dist"/>
		<plugin prefixe="SITES" version="1.7.13" nom="Sites" statut="dist"/>
		<plugin prefixe="SQUELETTES_PAR_RUBRIQUE" version="1.1.1" nom="Squelettes par Rubrique" statut="dist"/>
		<plugin prefixe="STATS" version="0.4.23" nom="Statistiques" statut="dist"/>
		<plugin prefixe="SVP" version="0.80.18" nom="SVP" statut="dist"/>
		<plugin prefixe="TW" version="0.8.24" nom="TextWheel pour SPIP" statut="dist"/>
		<plugin prefixe="URLS" version="1.4.23" nom="Urls Etendues" statut="dist"/>
		<plugin prefixe="VERTEBRES" version="1.2.2" nom="Vertèbres" statut="dist"/>
		<plugin prefixe="CEXTRAS" version="3.2.7" nom="Champs Extras" statut="actif"/>
		<plugin prefixe="CONTACTS" version="2.10.15" nom="Contacts & Organisations" statut="actif"/>
		<plugin prefixe="COORDONNEES" version="2.3.3" nom="Coordonnées" statut="actif"/>
		<plugin prefixe="SIMPLOG" version="1.0.4" nom="Simples Logs" statut="inactif"/>
	</plugins>
	<sgbd serveur="localhost" port="" nom="supervision" type="mysql" prefixe="spip" version="5.5.34"/>
</config>

updated on 2 October 2019

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom