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 :

<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 :

<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>

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom