Technologie de l'information et de la communication
Un peu geek mais surtout un dinosaure, de ceux qui ont soudé les composants de leur première machine, flashé la mémoire et publié dans Hebdogiciel.
La citation du jour
Les grandes pensées viennent de la raison.  (Lautréamont )
La réflexion du jour
Le surréalisme et l'hyperréalisme ne sont déjà plus des réalismes.
Activités
bénévole - geek - cycliste (cyclotouriste) - généalogiste - photographe - collectionneur - écrivain - enseignant - Diverses informations
Les mots clés
doc TIC * courriels * réseaux sociaux * chats * navigateurs * web & internet * informatique * Formation à distance * Chatons * E-learning * Logiciel libre * vidéoconférence * Sécurité * courrielleurs * fil d’informations * messagerie instantanée
Lorand

Site personnel de Roland Bouat. Pour les curieux : Lorand est un anagramme de Roland.

Créer les fichiers associés à un plugin

Mots clés : geek , SPIP

vendredi 5 juin 2020 , par Roland


Voilà, je vais créer mon premier "vrai" plugin. "Vrai" parce que j’en ai déjà créé un, il y a longtemps suite à la lassitude de devoir ajouter le code nécessaire à l’affichage ou le non affichage des éléments de Spip SPIP Système de Publication Pour l’Internet (CMS utilisé pour le présent site). Voir Wiipedia SPIP (je n’ai probablement pas été le seul). Mais voilà, je tombe en pleine période de bouleversements semble-t-il. En dehors du ré-apprentissage nécessaire, une mise au point s’impose donc.

Références

Préambule

Plugin.xml (spip SPIP Système de Publication Pour l’Internet (CMS utilisé pour le présent site). Voir Wiipedia SPIP 2.0) devrait être remplacé par paquet.xml (spip SPIP Système de Publication Pour l’Internet (CMS utilisé pour le présent site). Voir Wiipedia SPIP 3.0) même si plugin.xml fonctionne toujours avec spip SPIP Système de Publication Pour l’Internet (CMS utilisé pour le présent site). Voir Wiipedia SPIP 3.0

Rédaction

Mise en œuvre

<paquet
	prefix="qcm"
	categorie="divers"
	version="1.0"
	etat="dev"
	compatibilite="[3.2.*]"
	documentation="https://www.lorand.org/spip.php?rubrique116"
>
	<nom>QCM</nom>
	<auteur>Roland Bouat, 2020-</auteur>
	<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GNU/GPL</licence>
 
	<description>Qcm permet de réaliser un qcm par tirage au sort des questions, questions extraites d'un fichier dédié en affichant dans un ordre aléatoire des propositions issues du même fichier.</description>
</paquet>

L’écriture de paquet.xml tentée produit une erreur (non due à la cohabitation de plugin.xml et paquet.xml). Probablement une erreur de rédaction de paquet.xml qui est beaucoup plus formel que plugin.xml.

Si plugin.xml est désactivée, la première erreur disparaît (semble disparaître) mais la deuxième subsiste !

La balise qui pose probablement problème est la balise "description". Que se passe-t-il si elle est supprimée ? Nouvelle erreur.

Le fichier plugin.xml n’est pas désactivé. Après désactivation, il n’y a plus de message d’erreurs mais... le plugin n’apparaît plus dans les plugins à installer !

Désactivation de paquet.xml et suppression de la balise version dans plugin.xml => plantage : "Impossible de lire certaines descriptions XML - Version du plugin manquante".

... ???

La mise en oeuvre de paquet.xml étant en échec, la nouvelle tentative va utiliser le plugin PlugOnet pour construire le fichier paquet.xml à partir du fichier plugin.xml.

Résultat

  • le slogan et la description ne sont pas dans paquet.xml mais dans un fichier de langue ! (je n’avais pas du tout compris ça !) La mention "array" venait donc de là !
  • l’attribut "compatibilité" est plutôt mystérieux...?
  • Et voici le nouveau fichier paquet.xml qui fonctionne !
<paquet
	prefix="qcm"
	categorie="divers"
	version="1.0"
	etat="dev"
	compatibilite="];["
>	
 
	<nom>QCM</nom>
	<!-- Un questionnaire à choix multiple totalement aléatoire. -->
 
	<auteur mail="roland.bouat@lorand.org">Roland Bouat</auteur>
 
	<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL 3</licence>
</paquet>

Il y a donc un fichier de langue associé (fichier rangé dans le sous-dossier "lang" évidemment). Le fichier se nomme "paquet-qcm_fr.php PHP Hypertext Preprocessor Voir Wikipedia PHP ".

<?php
 
// Ceci est un fichier langue de SPIP -- This is a SPIP language file
 
// Fichier produit par PlugOnet
// Module: paquet-qcm
// Langue: fr
// Date: 05-06-2020 09:56:26
// Items: 2
 
if (!defined('_ECRIRE_INC_VERSION')) return;
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
	// Q
	'qcm_description' => 'Les questions du QCM sont affichées dans un ordre aléatoire ainsi que les propositions. Cette version de QCM permet de définir le nombre de questions du QCM ainsi que le nombre de propositions.',
	'qcm_slogan' => 'Un questionnaire à choix multiple totalement aléatoire.',
);
?>

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

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