[SPIP Zone] Plugin Lilyspip

Je pense que c'est bon, mais j'ai eu un peu de mal avec rapidsvn alors il a
fallu que je le fasse sous Windows avec Tortoise.

A Pat

J'ai regardé ton code à partir des rapports de commit et je ne pense pas qu'il
soit utile de sauvegarder le fichier du code (fichier ly) dans le cache. En
effet le cache sert uniquement à éviter des appels inutiles au serveur (du coté
client) et les executions inutiles de lilypond du coté serveur. Et pour cela ,
seuls les fichiers images et midi sont nécessaires.

J'ai aussi testé chez moi le remplacement de la fonction fichier_vide par
@filesize et cela ne fonctionne pas, est-ce vraiment équivalent.

Je n'ai pas pu voir les modifications que tu avais apporté sur la partie serveur
mais de la même manière seuls les fichiers png et midi sont nécessaires.

Quand aux modifications sur les fichiers xml et les fichiers lang, elles ne me
semblent pas des plus urgentes. Le principal problème reste la possibilité de
faire boucler lilypond et ainsi bloquer le serveur.

Toutes tes modifications sur la compatibilité et le traitement de la variable
meta sont très interessantes et tes commits bienvenus.

Christophe

crichard@jalmus.net a écrit :

Je pense que c'est bon, mais j'ai eu un peu de mal avec rapidsvn alors il a
fallu que je le fasse sous Windows avec Tortoise.

J'utilise aussi Tortoise. En suis très satisfait !

A Pat

J'ai regardé ton code à partir des rapports de commit et je ne pense pas qu'il
soit utile de sauvegarder le fichier du code (fichier ly) dans le cache. En
effet le cache sert uniquement à éviter des appels inutiles au serveur (du coté
client) et les executions inutiles de lilypond du coté serveur. Et pour cela ,
seuls les fichiers images et midi sont nécessaires.

Absolument ! J'avais ajouté cette option dans le but d'un debuggage futur de la version 2.6 uniquement, et voir comment améliorer les bouts de partition avec du code lilypond supplémentaire. Mais il n'y avait dans mon commit initial aucune sollicitation du serveur, les lignes étaient en commentaire. D'ailleurs, voici le code que j'avais ajouté :

function lilyspip_ly_lilypond($music) {
  // Regarder dans le repertoire local de Lilypond
  $fichier = _DIR_Lilypond.md5($music).".ly";
  
  if (!@file_exists($fichier) /*
  || $GLOBALS['var_mode'] == 'recalcul'
  || $GLOBALS['var_mode']=='calcul'*/) {
    // Aller chercher le fichier midi sur le serveur
// $url = $GLOBALS['meta']['lilyspip_server']
// .'?format=ly&code='.rawurlencode($music);
// spip_log("Lilypond - appel ly de : $url");
// include_spip('inc/distant');
// $music = recuperer_page($url);
    ecrire_fichier($fichier, $music);
  }

  return $music;
}

J'ai aussi testé chez moi le remplacement de la fonction fichier_vide par
@filesize et cela ne fonctionne pas, est-ce vraiment équivalent.

les deux semblent équivalents pourtant. @filesize renvoie false si le fichier n'existe pas et 0 si le fichier est de taille nulle.
le test == classique assimile le 0 au false. pour faire la différence, il faut utiliser l'opérateur ===.

Du coup, le test (@file_exists($fichiermidi) && !fichier_vide($fichiermidi)) est pour moi équivalent à (@file_exists($fichier) && @filesize($fichier)) qui est meme simplifiable en (@filesize($fichier)).
Ce dernier test se borne à vérifier que filesize rend bien une valeur différente de 0, ce qui indique forcement aussi que le fichier existe.
me trompe-je ?

Je n'ai pas pu voir les modifications que tu avais apporté sur la partie serveur
mais de la même manière seuls les fichiers png et midi sont nécessaires.

Je n'avais pas fait de modif sur ce fichier, mis à part une future procédure pour les fichiers ly dans le cadre d'un debuggage.

Quand aux modifications sur les fichiers xml et les fichiers lang, elles ne me
semblent pas des plus urgentes. Le principal problème reste la possibilité de
faire boucler lilypond et ainsi bloquer le serveur.

Tu as bien raison. Mais tu sais, qd on est lancé...

1. j'avais modifié plugin.xml pour le rendre compatible avec 1.9.2. Si ça t'interesse, tu peux te renseigner la-dessus : icone, installation, désinstallation... C'est super que Spip permette maintenant aux plugins de rester propres !

2. Pour la description, de simples précisions :
<description>Ce plugin permet d'ins&eacute;rer des notations musicales dans vos articles en utilisant la syntaxe [Lilypond->http://lilypond.org/\].

Un petit exemple :<code><lilypond>
    {\\relative c'{\\time 4/4 c4 c c d e2 d c4 e d d c1}}
</lilypond></code>
</description>
<lien>[->http://www.spip.net/fr_article3448.html\]</lien>

3. Qd aux fichiers lang, deux précisions également :
'parametrages' => "Param&eacute;trages du serveur",
'info_message' => "Cette page permet de sp&eacute;cifier l'adresse du serveur Lilypond pour l'insertion de notations musicales.<br /><br />La pr&eacute;visualisation vous permet d'en tester instantan&eacute;ment le fonctionnement.",

Toutes tes modifications sur la compatibilité et le traitement de la variable
meta sont très interessantes et tes commits bienvenus.

Merci. Mais tu comprendras que sur ce point je suis devenu frileux. Tu as du lire les forums...
Je te propose de t'envoyer ma contrib en privé pour que tu fasses le tri de ce que tu juges intéressant ou non, car le travail chez moi est fait, et je ne vais pas tout recommencer.
J'ai simplement porté ce plugin sous Spip 1.9.2 en toilettant un peu de code ici ou là, tout en restant bien sûr compatible avec 1.9.1.
Rien de plus.

Pat

Christophe

Hello,

Pat a écrit :

Toutes tes modifications sur la compatibilité et le traitement de la variable
meta sont très interessantes et tes commits bienvenus.
   

Merci. Mais tu comprendras que sur ce point je suis devenu frileux. Tu as du lire les forums...

Mais non, c'est bon maintenant, on va pas troller pendant 1000 ans (enfin on peut changer de sujet de troll :p).

Ce qui était important c'est de laisser Christophe commiter en premier lieu, maintenant que c'est fait on peut y aller.

Ca a été plus ou moins maladroitement exprimé, bon ben ca arrive, on va pas y passer le réveillon :smiley:

On a compris que tu as commité trop vite pensant bien faire, et de l'autre coté on a réagit trop fort en surestimant le préjudice, également en pensant bien faire. Du coup c'est un peu une tempète dans un verre d'eau.

L'important c'est que le plugin se développe maintenant, vous croyez pas ?

BoOz

L'important c'est que le plugin se développe maintenant,

vous croyez pas ?

Si !

--
Suske-ki-n'aura-pas-d'utilité-de-ce-plugin-et-qui-sait-même-pas-en-coder-un-ptêt-ça-viendra

:slight_smile:

--
Suske
32-2-5211161