SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 95 visiteurs en ce moment

Accueil du site > Rédaction > Notations musicales > Lilyspip > Plugin Lilyspip

Plugin Lilyspip

27 juin 2007 – par chris28 – 11 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

2 votes

Le plugin Lilyspip permet d’insérer des notations musicales dans les articles et les forums d’un site sous SPIP en utilisant le logiciel libre Lilypond.

Site exemple : Musicorum.

Ce plugin est développé sur la zone et donc disponible par svn ou dans les snapshots.

Inspiré de la gestion des formules mathématiques de SPIP, il fonctionne en client/serveur avec un système de double cache.

Le serveur

Pour une question de sécurité la commande Lilypond est exécutée en mode safe ce qui en limite les fonctionnalités (include et importations de variables impossibles).

Le serveur ainsi que la procédure d’installation sont disponibles dans le dossier « install_server » du plugin. Si vous mettez en place votre propre serveur et souhaitez le rendre public, merci de le signaler sur le forum ci-dessous.

Les fichiers images PNG et MIDI sont générés par la commande puis sauvegardés dans le dossier cache du serveur.

Le client

Il faut spécifier l’adresse du serveur dans les paramètres du plugin et une image de test avec la version de Lilypond installée sur le serveur doit s’afficher :

PNG - 17.4 ko

Le code doit être saisi de la façon suivante :

<lilypond>
\score{
{a b c d}
\layout{}
\midi{}
}
</lilypond>

Si le serveur est installé en mode safe, il est nécessaire d’utiliser la notation anglaise pour le nom des notes :

Do Mi Fa Sol La Si
c d e f g a b

Une documentation partiellement traduite de Lilypond est accessible ici.

L’image apparait avec un lien vers le fichier MIDI et le code lilypond dans la description de l’image (attribut alt). Tous les fichiers sont conservés dans le dossier « local/cache-Lilypond » pour que le plugin ne fasse pas appel au serveur à chaque actualisation.


Pour encadrer et centrer l’image obtenue vous pouvez ajouter à votre feuille de style les lignes suivantes :

.lilypond {
        text-align:center;
        padding: 5px;
        }
                       
.lilypond img{
        border: 1px solid #BFBFBF;
        }
Retour en haut de la page

Vos commentaires

  • Le 28 juillet 2011 à 16:59, par Alexandre En réponse à : Plugin Lilyspip

    Bonjour,

    je souhaiterai utiliser lilyspip mais je n’ai pas la possibilité d’installer de serveur pour faire tourner lilypond : est-ce qu’il en existe un public actuellement en fonction ?

    merci d’avance !

    Répondre à ce message

  • Le 19 avril 2008 à 08:43, par Etherweb En réponse à : Plugin Lilyspip

    Bonjour,

    J’ai essayé d’installer un serveur en local, mais je n’arrives pas à m’en sortir, en gros ça donne rien.

    Je suis sous Ubuntu, j’ai installé lilypond à partir du script, imagemagick par les dépôts. J’ai copié server.php dans www/lilypond/ et créé le fichier www/lilypond/CACHE/lilyspip. Pour le fichier server.php j’ai modifié ces lignes :

            $convert_bin = "/usr/bin/convert" ; // j'ai vérifié il est bien là
            $lilypond_bin = "/usr/local/bin/lilypond" ; // lui aussi j'ai vérifié qu'il était là
            $lilypond_version = "2.10.33" ; // j'ai changé le numero de version

    Mais quand je rentre http://127.0.0.1/lilypond/server.php dans le plugin ça n’affiche rien dans Prévisualisation.

    Que faire ?

    • Le 29 avril 2008 à 18:02, par chris28 En réponse à : Plugin Lilyspip

      Bonjour,

      J’ai testé et cela a fonctionné en local (SPIP 1.9.2d, xampp, php5, server.php).
      Cela peut être un problème de droit sur le dossier CACHE/lilyspip qui doit être ouvert en écriture pour tous. Ce dossier doit aussi se situer au même niveau que votre fichier server.php. Ensuite si vous voyez des fichiers dans votre dossier CACHE/lilyspip vous pouvez débugger en commentant les lignes

              //efface fichiers ly log et ps du CACHE

              //if (@file_exists($fichier_ps) && chmod($fichier_ps,0777)) unlink($fichier_ps);

              //if (@file_exists($fichier_source) && chmod($fichier_source,0777)) unlink($fichier_source);       

              //if (@file_exists($fichier) && chmod($fichier,0777)) unlink($fichier);

      Christophe

    • Le 29 avril 2008 à 18:23, par Etherweb En réponse à : Plugin Lilyspip

      nickel chrome !

      ça devait être l’histoire des droits. Je suis bête de pas y avoir pensé !

      Juste une petite chose Dans le readme.txt il est indiqué "Créer le dossier « CACHE/lilyserv/ » à la racine du dossier Web." alors que c’est plutôt CACHE/lilyspip/

    • Le 29 avril 2008 à 18:57, par Etherweb En réponse à : Plugin Lilyspip

      Bon apprement, j’ai crié victoire bien trop vite :(

      J’ai bien l’image prévisualisation dans la apge de configuration, mais c’est une fois dans un article que ça se gate.

      En essayant J’ai du bon tabac :

      <lilypond>
      \relative c' {
      \time 2/4
      c8 d e c d4 d8 e f4 f e e c8 d e c d4 d8 e f4 g c,2
      }
      </lilypond>

      En effet, cela affiche une image blanche avec juste le texte /CACHE/lilyspip/6b9130afac9b6af5a3cd03e4100133e4.

      Quand le vais dans CACHE/lilyspip, je trouves bien 6b9130afac9b6af5a3cd03e4100133e4.png mais aussi un fichier 6b9130afac9b6af5a3cd03e4100133e4.ly contenant :

      \version "2.10.33"
              \header {
                      tagline= ""
              }
              \paper {
                      ragged-right = ##t
              }
             
      \relative c' {
      \time 2/4
      c8 d e c d4 d8 e f4 f e e c8 d e c d4 d8 e f4 g c,2
      }

      Actuellement, j’ai installé lilypond chez moi et je teste avec un site en ligne (par mon ip). Si vous voulez voir, je peux vous indiquer l’ip de mon serveur.

    • Le 29 avril 2008 à 19:52, par chris28 En réponse à : Plugin Lilyspip

      J’ai essayé le code lilypond « j’ai du bon tabac » en local sans problème.

      Quelle version du serveur utilisez-vous ? J’ai eu moi aussi le texte /CACHE/lilyspip/... en utilisant la version bashserver car il n’arrivait pas à exécuter lilypond (donc pas de log et insertion du nom dans l’image).

      Je n’ai plus aucun accès à un serveur dédié et ne peux donc plus utiliser lilyspip. Si vous (ou quelqu’un d’autre passant sur ce forum) montez un serveur web lilypond merci de me contacter.

      Christophe

    • Le 29 avril 2008 à 22:49, par Etherweb En réponse à : Plugin Lilyspip

      J’ai la même chose en bashserver et en server...

      J’ai lilypond 2.10.33. Installé par les depots.

    • Le 30 avril 2008 à 08:36, par chris28 En réponse à : Plugin Lilyspip

      Peut-être encore un problème de droits. Le script lilypond.sh est-il exécutable et en lecture pour tous. Si PHP est mode safe il faut placer le script dans un dossier spécifique safe_mode_exec_dir (configuration dans php.ini). Le fichier bashserver.php est-il accessible de l’extérieur ?

    Répondre à ce message

  • Le 3 novembre 2007 à 16:22, par ? En réponse à : Plugin Lilyspip

    Bonjour,

    Apparemment http://www.lilyserv.net/bashserver.php n’est plus dispo :-(
    Existe-t-il d’autres serveurs lilypond pour faire tourner cette belle contrib ?
    J’ai cherché en vain et n’ai malheureusement pas la possibilité de l’installer sur un serveur dédié.

    fred

    Répondre à ce message

  • Le 22 août 2007 à 08:50, par malik En réponse à : Plugin Lilyspip

    bonjour
    je suis en spip 1.9.2 et j’utilise lily 1.1 stable

    Il faut spécifier l’adresse du serveur

    mais où est il ?

    -  http://monsite.com/plugins/lilyspip/install_server/server.php
    -  http://monsite.com/plugins/lilyspip/install_server/bashserver.php

    faut il déplacer le fichier server.php à la racine ?

    merci à quelqu’un.
    je suis en spip 1.9.2 et j’utilise lily 1.1 stable

    • Le 25 août 2007 à 13:39, par chris28 En réponse à : Plugin Lilyspip

      Bonjour

      Soit vous installez votre propre serveur lilypond sur un serveur dédié en suivant les instructions du fichier install_serveur/readme.txt soit vous utilisez celui que nous avons mis en place http://www.lilyserv.net/bashserver.php.

      Christophe

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)

  • Plugin Vidéo(s)

    23 novembre 2010 – 293 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Interface de gestion et modèle d’insertion des vidéos : Dailymotion Vimeo Youtube Modèle de la balise HTML5 video avec alternative flash html5media : Lecture HTML5/Flash pour tout navigateur des fichiers MP4/H264/Ogg/WebM/Mkv Support mobile, (...)

  • Plugin SPIPAL

    10 janvier 2011 – 79 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Pour intégrer un système de paiement immédiat via PayPal à certains de vos articles . Ce plugin est une mise à niveau pour la version SPIP 2.1.8 du Plugin GoPayPal qui était resté en SPIP 1.9.2 depuis 3 ans. Il change de nom pour ne pas faire trop de (...)

  • Le menu déroulant Babbibel

    2 juin 2009 – 303 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un menu déroulant horizontal en jQuery sans limitation de profondeur et configurable avec CFG.