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
Je n'aurais jamais cru être capable d'une si grande solitude.  (Jean Racine )
La réflexion du jour
La maladie transforme l'être humain en prisonnier de son corps.
Activités
geek - cycliste - généalogiste - Savoir - lecteur - collectionneur - Philosophe - citoyen - marcheur - scripteur - Photographe - instituteur - enseignant en sciences - enseignant formateur - journaliste local - bénévole
Les mots clés
doc TIC * SPIP * Wikipedia * web & internet * Php * OVH * informatique * Sql * Wamp * Qwant * Firefox * LibreOffice * Thunderbird * FOAD * Buttercup * Mastodon * PeerTube * Chatons * OpenStreetMap * IrfanView * E-learning
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, 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   (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   2.0) devrait être remplacé par paquet.xml (spip   3.0) même si plugin.xml fonctionne toujours avec spip   3.0

 Rédaction

  • balise englobante unique : <paquet></paquet>
  • sous-balises en 5 groupes avec ordre impératif : nom, crédits et copyright, traduction, techniques, spip  
  • la balise <paquet> possède 4 attributs obligatoires : prefix, categorie, version et état
  • la balise <paquet> peut posséder 7 attributs facultatifs : logo, schema, meta, documentation, demonstration, developpement, compatibilite.

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

Brèves
1er juin – Les "bizarreries" continuent...

Déjà un mois que je me bagarre avec elles ! Le progrès principal est la probable identification. Il s’agit des mises à jour Apache, MySql, PHP, qui (...)

1er mai – Bizarrerie sur mon site

Depuis que le site a été restauré, il semblerait qu’il y ait eu un bug lors de la restauration, bug ne concernant que certaines informations (dont, (...)

4 mars 2019 – Fin de Spip3.0

Le support et la maintenance de SPIP 3.0 prendront fin le 30 juin 2019. Il n’y aura plus de mise à jour pour cette version, ni corrections de bugs (...)