Lilypond et le Web

Bonjour à tous,

J'ai récemment intégré le langage Lilypond à mon site www.musicorum.net
pour donner la possibilité aux visiteurs d'insérer directement des
notations musicales dans leurs messages et aux rédacteurs dans leurs
articles.

Ce site est sous SPIP et il permet donc par exemple :

- d'ouvrir des articles comme un Wiki pour les rédacteurs ou tous les
visiteurs : http://www.musicorum.net/spip.php?article123

- de créer relativement facilement des QCMs :
http://www.musicorum.net/spip.php?article119

- d'ouvrir des forums de discussion :
http://www.musicorum.net/spip.php?article18

Le serveur est en mode safe et ne permet donc ni les
include ni certaines constantes. Il faut par conséquent utiliser la
notation anglaise et certaines fonctionnalités intéressantes comme la
coloration ne fonctionnent pas. En cas d'erreur de syntaxe, les
messages du compilateur apparaissent à la place de la partition.

Si vous souhaitez tester ou mieux proposer des articles
n'hésitez pas à vous inscrire sur le site.

Dans tous les cas, vos suggestions sont les bienvenues.

RICHARD Christophe

Bonjour à tous,

Re-bonjour Christophe :slight_smile:

J'ai récemment intégré le langage Lilypond à mon site www.musicorum.net
pour donner la possibilité aux visiteurs d'insérer directement des
notations musicales dans leurs messages et aux rédacteurs dans leurs
articles.

C'est une _très_ bonne nouvelle ; j'avais découvert il y a longtemps
déjà les exemples intégrés sur ce site au moyen du GUIDO NoteServer,
et j'attendais que LilyPond puisse être intégré dans tout cela (ça
ouvre quand même d'autres possibilités...)

Sinon, pour aller dans le même sens, je voudrais signaler un outil
intéressant pour saisir du code en ligne : l'éditeur CodePress, qui
permet une coloration syntaxique, indentation et auto-complétion en
temps réel sur une page web. Je me suis amusé à implémenter l'API de
LilyPond, vous pouvez en voir un exemple ici :

Ceci s'ajoutant au message de Christophe, peut permettre de jeter les
bases d'une véritable web-application fondée sur LilyPond, aussi
toutes les bonnes volontés, toutes les idées, et toutes les
compétences sont-elles les bienvenues, que ce soit ici-même ou sur
Musicorum.

Merci à tous.
Valentin

···

Le 27/06/07, christophe<****@****> a écrit :

Et oui lilypond s'intègre dans les CMS.

Pour les wiki il existe aussi une extention à Mediawiki qui se nomme
wikitex http://wikitex.org/ et dans mon souvenir il existe aussi une
extention wordpress pour lilypond
http://www.chris-lamb.co.uk/blog/2006/04/03/lilypond-and-latex-plugin-for-wordpress/.

Le seul problème c'est que lilypond est très gourmand lors de la
compilation du fichier source. J'avais fait des essais avec des
compilation simultanés (wikitex) et le processeur s'embouse un peu sur
des scores importants.

Si dans cette liste il y à des développeurs, nous sommes en train de
travailler sur un greffon à fsckeditor pour interfacer Lilypond avec les
CMS mais de manière graphique un peu à la manière de denemo mais codé en
ajax.
On recherche des gens pour travailler avec nous sur ce projet. Ça
permettrait de proposer des environnement wiki proposant toutes les
fonctionnalités de lilypond sans la difficulté de l'approche "saisie du
code"

A part ça c'est clair que ça fonctionne très bien
Vive les Cms libres et Lilypond

P S : il existe aussi le même type d'extentions pour abcm2ps pour ceux
qui écrivent de la musique trad, et abcm2ps, lui, est vachement économe
en ressource CPU :slight_smile:

···

Le mercredi 27 juin 2007 à 22:56 +0200, christophe a écrit :

Bonjour à tous,

J'ai récemment intégré le langage Lilypond à mon site www.musicorum.net
pour donner la possibilité aux visiteurs d'insérer directement des
notations musicales dans leurs messages et aux rédacteurs dans leurs
articles.

Ce site est sous SPIP et il permet donc par exemple :

- d'ouvrir des articles comme un Wiki pour les rédacteurs ou tous les
visiteurs : http://www.musicorum.net/spip.php?article123

- de créer relativement facilement des QCMs :
http://www.musicorum.net/spip.php?article119

- d'ouvrir des forums de discussion :
http://www.musicorum.net/spip.php?article18

Le serveur est en mode safe et ne permet donc ni les
include ni certaines constantes. Il faut par conséquent utiliser la
notation anglaise et certaines fonctionnalités intéressantes comme la
coloration ne fonctionnent pas. En cas d'erreur de syntaxe, les
messages du compilateur apparaissent à la place de la partition.

Si vous souhaitez tester ou mieux proposer des articles
n'hésitez pas à vous inscrire sur le site.

Dans tous les cas, vos suggestions sont les bienvenues.

RICHARD Christophe

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Bonjour,
j'avais remarqué ce papier il y a quelques temps, sans-doute est-il de vous :
http://www.cerell.fr/spip/spip.php?article18
où en êtes-vous ?
avez-vous réussi à constituer une petite équipe ?
où peut-on en discuter (et éventuellement voir où vous en êtes) ?

Je crois qu'effectivement il est nécessaire de coupler du JavaScript
avec une transaction client/serveur (donc quelque chose comme l'AJAX).
Pour ce qui est de l'aspect "interface graphique", je crois vraiment
que le code doit rester apparent, et modifiable à volonté, par
l'utilisateur. Ce que nous pourrions faire, c'est inclure des outils
qui permettent d'aider les utilisateurs novices à compléter leur code
:

1 -pour la saisie des notes, plutôt que le modèle Denemo, je
pencherais pour LilyComp
http://lilycomp.sourceforge.net/#screenshots
(je pense par exemple à la web application http://www.melodyhound.com/ )

2 -pour la structure du fichier, l'assistant LilyPondTool pour créer
une nouvelle partition (par exemple, des menus déroulants :
"sélectionnez la langue", "sélectionnez les instuments", "indiquez
votre tempo", etc, qui pré-rempliraient automatiquement le code
Lilypond)

3 -coloration syntaxique, indentation (que j'ai implémenté dans CodePress)

4 -Intégration de l'aide (sous forme de pop-ups contextuels, ou que sais-je)

5 - parsing en temps réel, qui souligne les erreurs de code en rouge
(accolades non fermées, etc) -- je n'ai aucune idée de comment faire
ça en JavaScript, au passage

6 - enfin, compilation du code par le serveur, qui affiche un aperçu
en PNG, et offre des liens cliquables pour "écouter le fichier midi",
"télécharger le fichier PDF", etc.

Il serait peut-être judicieux d'envisager une plateforme pédagogique
standalone, qui puisse s'intégrer dans n'importe quel CMS, ou éditeur
comme FCK ou autre, plutôt que d'être liée à un outil en particulier.

Cordialement,
Valentin

PS. Une toute autre piste, qui nous aurait permis de récupérer pas mal
de code, serait d'arriver à inclure LilyPondTool, tel quel, dans une
Applet Java (je sais qu'il a existé une applet de jEdit, donc ça doit
être faisable).

···

Le 28/06/07, laurent-ducos<****@****> a écrit :

Si dans cette liste il y à des développeurs, nous sommes en train de
travailler sur un greffon à fsckeditor pour interfacer Lilypond avec les
CMS mais de manière graphique un peu à la manière de denemo mais codé en
ajax.

Bonjour,
j'avais remarqué ce papier il y a quelques temps, sans-doute est-il de vous :
http://www.cerell.fr/spip/spip.php?article18
où en êtes-vous ?

Alors le papier est bien de nous. Nous sommes deux pour ce qui est de
l'équipe de développement ce qui est bien insuffisant (vu que l'on
travaille aussi sur pas mal d'autre choses). On sera à Amiens pour les
RMLL pendant 3 jours si tu y viens on pourra discuter de vive voix.
Sinon on peux se retrouver sur un jabber ou un chann de freenode

avez-vous réussi à constituer une petite équipe ?
où peut-on en discuter (et éventuellement voir où vous en êtes) ?

Je crois qu'effectivement il est nécessaire de coupler du JavaScript
avec une transaction client/serveur (donc quelque chose comme l'AJAX).
Pour ce qui est de l'aspect "interface graphique", je crois vraiment
que le code doit rester apparent, et modifiable à volonté, par
l'utilisateur. Ce que nous pourrions faire, c'est inclure des outils
qui permettent d'aider les utilisateurs novices à compléter leur code
:

On est entièrement ok avec ce que tu dis, c'est le modèle sur lequel on est partis. Une
interface IHM (avec gestion de la souris) pour les novices avec
prévisualisation de la partition et du score lilypond modifié. Et pour
les plus grands :wink: un accès direct au code (IHM débrayée).

1 -pour la saisie des notes, plutôt que le modèle Denemo, je
pencherais pour LilyComp
LilyComp
(je pense par exemple à la web application http://www.melodyhound.com/ )

Comme c'est destiné aux écoles de musiques et conservatoires (enfin dans
mon esprit) je ne suis pas sur que ce soit le meilleur type d'interface

2 -pour la structure du fichier, l'assistant LilyPondTool pour créer
une nouvelle partition (par exemple, des menus déroulants :
"sélectionnez la langue", "sélectionnez les instuments", "indiquez
votre tempo", etc, qui pré-rempliraient automatiquement le code
Lilypond)

3 -coloration syntaxique, indentation (que j'ai implémenté dans CodePress)

On cherchait justement cette fonctionnalité

4 -Intégration de l'aide (sous forme de pop-ups contextuels, ou que sais-je)

5 - parsing en temps réel, qui souligne les erreurs de code en rouge
(accolades non fermées, etc) -- je n'ai aucune idée de comment faire
ça en JavaScript, au passage

6 - enfin, compilation du code par le serveur, qui affiche un aperçu
en PNG, et offre des liens cliquables pour "écouter le fichier midi",
"télécharger le fichier PDF", etc.

A voir avec l'équipe de développement de lilypond comment soulager le processeur d'une partie de la charge de compilation. Ça
vas pour une ou deux compils simultannées mais plus, ca commence à
devenir lourdingue

Il serait peut-être judicieux d'envisager une plateforme pédagogique
standalone, qui puisse s'intégrer dans n'importe quel CMS, ou éditeur
comme FCK ou autre, plutôt que d'être liée à un outil en particulier.

On pensait justement à un greffon attachable à tout type de CMS

Cordialement,
Valentin

Ben je suis très content de te connaitre :slight_smile:

···

PS. Une toute autre piste, qui nous aurait permis de récupérer pas mal
de code, serait d'arriver à inclure LilyPondTool, tel quel, dans une
Applet Java (je sais qu'il a existé une applet de jEdit, donc ça doit
être faisable).

Il est vrai que l'interface graphique est une demande des utilisateurs
peu habitués au textuel mais je ne suis toujours pas certain de son
utilité. A nous aussi de montrer que lilypond après la difficle
période d'apprentissage est tout aussi rapide et surtout plus efficace
que n'importe quel logiciel graphique. Je ne suis pas fan de Denemo et
préfère de beaucoup utiliser Emacs . La coloration syntaxique, la
complétion, un gestion complète de modèles peuvent très bien compenser
l'handicap de départ. De toute façon, l'un n'empêche pas l'autre
mais le travail à fournir pour une interface graphique à Lilypond me
paraît (peut-être à tord) immense .

Sinon une autre piste que vous aviez peut-être déjà explorée :
http://www.noteserver.org/keyboard_telis/KeyFrame.html

L'équipe de Guido avait dans ce domaine une bonne longueur d'avance,
dommage que cela n'ait pas été plus loin.

Christophe RICHARD

···

Le Thu, 28 Jun 2007 16:19:26 +0200, laurent-ducos <****@****> a écrit :

> Bonjour,
> j'avais remarqué ce papier il y a quelques temps, sans-doute est-il
> de vous : http://www.cerell.fr/spip/spip.php?article18
> où en êtes-vous ?
Alors le papier est bien de nous. Nous sommes deux pour ce qui est de
l'équipe de développement ce qui est bien insuffisant (vu que l'on
travaille aussi sur pas mal d'autre choses). On sera à Amiens pour les
RMLL pendant 3 jours si tu y viens on pourra discuter de vive voix.
Sinon on peux se retrouver sur un jabber ou un chann de freenode
> avez-vous réussi à constituer une petite équipe ?
> où peut-on en discuter (et éventuellement voir où vous en êtes) ?
>
> Je crois qu'effectivement il est nécessaire de coupler du JavaScript
> avec une transaction client/serveur (donc quelque chose comme
> l'AJAX). Pour ce qui est de l'aspect "interface graphique", je
> crois vraiment que le code doit rester apparent, et modifiable à
> volonté, par l'utilisateur. Ce que nous pourrions faire, c'est
> inclure des outils qui permettent d'aider les utilisateurs novices
> à compléter leur code :
On est entièrement ok avec ce que tu dis, c'est le modèle sur lequel
on est partis. Une interface IHM (avec gestion de la souris) pour les
novices avec prévisualisation de la partition et du score lilypond
modifié. Et pour les plus grands :wink: un accès direct au code (IHM
débrayée).

> 1 -pour la saisie des notes, plutôt que le modèle Denemo, je
> pencherais pour LilyComp
> http://lilycomp.sourceforge.net/#screenshots
> (je pense par exemple à la web application
> http://www.melodyhound.com/ )
>
Comme c'est destiné aux écoles de musiques et conservatoires (enfin
dans mon esprit) je ne suis pas sur que ce soit le meilleur type
d'interface
> 2 -pour la structure du fichier, l'assistant LilyPondTool pour créer
> une nouvelle partition (par exemple, des menus déroulants :
> "sélectionnez la langue", "sélectionnez les instuments", "indiquez
> votre tempo", etc, qui pré-rempliraient automatiquement le code
> Lilypond)
>
> 3 -coloration syntaxique, indentation (que j'ai implémenté dans
> CodePress)
On cherchait justement cette fonctionnalité
> 4 -Intégration de l'aide (sous forme de pop-ups contextuels, ou que
> sais-je)
>
> 5 - parsing en temps réel, qui souligne les erreurs de code en rouge
> (accolades non fermées, etc) -- je n'ai aucune idée de comment faire
> ça en JavaScript, au passage
>
> 6 - enfin, compilation du code par le serveur, qui affiche un aperçu
> en PNG, et offre des liens cliquables pour "écouter le fichier
> midi", "télécharger le fichier PDF", etc.
A voir avec l'équipe de développement de lilypond comment soulager le
processeur d'une partie de la charge de compilation. Ça vas pour une
ou deux compils simultannées mais plus, ca commence à devenir
lourdingue
> Il serait peut-être judicieux d'envisager une plateforme pédagogique
> standalone, qui puisse s'intégrer dans n'importe quel CMS, ou
> éditeur comme FCK ou autre, plutôt que d'être liée à un outil en
> particulier.
On pensait justement à un greffon attachable à tout type de CMS
> Cordialement,
> Valentin
Ben je suis très content de te connaitre :slight_smile:
> PS. Une toute autre piste, qui nous aurait permis de récupérer pas
> mal de code, serait d'arriver à inclure LilyPondTool, tel quel,
> dans une Applet Java (je sais qu'il a existé une applet de jEdit,
> donc ça doit être faisable).

Il est vrai que l'interface graphique est une demande des utilisateurs
peu habitués au textuel mais je ne suis toujours pas certain de son
utilité.

Tout à fait d'accord ; j'ai souvent pu constater auprès de mes élèves
que l'idée de saisir de la musique en mode texte n'est pas si exotique
que cela ; en fait seuls ceux qui sont habitués à Finale rechignent à
se mettre à Lilypond :wink:

De toute façon, l'un n'empêche pas l'autre
mais le travail à fournir pour une interface graphique à Lilypond me
paraît (peut-être à tord) immense .

L'un n'empêche pas l'autre, effectivement, et les idées ne manquent
pas (l'interface de NoteServer en Java est tout simplement bluffante,
à propos) ! Il me semble en tout cas que c'est un objectif à long
terme, et qu'on pourrait peut-être procéder par étapes plus
progressives...

Pouvons-nous commencer à essayer de nous organiser tous ensemble
(c'est-à-dire Christophe, Laurent, et tous ceux qui veulent), pour
déterminer les tâches auxquelles s'atteler en priorité ?
J'ai contacté Sebastiano Vigna, le créateur du LilyPond Snippet
Repository, pour lui demander plus de précisions sur le côté serveur
du LSR ; j'attends sa réponse.

Dans l'immédiat, vu que Christophe a mis en place un serveur,
peut-être pouvons-nous nous intéresser à la partie client ?
Est-il judicieux de poster un petit message sur la liste internationale ?
Bref, par où on commence ?

Valentin

···

Le 28/06/07, christophe<****@****> a écrit :

> Il est vrai que l'interface graphique est une demande des utilisateurs
> peu habitués au textuel mais je ne suis toujours pas certain de son
> utilité.

Tu à raison elle est entièrement inutile. C'est comme Gnome ou Kde,
c'est inutile mais il est parfois plus simple de surfer avec Iceweasel
qu'avec Lynx. Ce n'est pas du tout cynique de ma part je pense vraiment
ce que je dis.

Tout à fait d'accord ; j'ai souvent pu constater auprès de mes élèves
que l'idée de saisir de la musique en mode texte n'est pas si exotique
que cela ; en fait seuls ceux qui sont habitués à Finale rechignent à
se mettre à Lilypond :wink:

Je suis entièrement ok avec vous. Seulement nombreux sont ceux qui sont habitués à Finale et surtout parmi
les décisionnaires de choix logiciels dans les structures d'écoles de
musique. Et si il est simple de convertir ses élèves il n'en est pas de
même pour ses collègues et admistrateurs.
J'ai démarché associativement pas mal d'écoles de musiques et
d'enseignants autour de chez moi, et j'ai tristement remarqué que le
réflexe d'utilisation d'une interface cliquante et clinquante est très
ancré. Finale ou au mieux Harmony Assistant sont majoritairement adoptés
et l"argument du transfert de compétences avec une formation adapté est
très difficile à mettre en avant (se pose aussi le problème de la
compatibilité des fichiers, midi2ly réserve toujours des surprises dans
le processus de conversion).

On peut avoir le même débat sur la bureautique, je trouve
personnellement qu'il n'y a pas mieux que LaTeX (qualité de production
et simplicité d'utilisation) pour produire des documents, il n'empèche
qu'à part les barbus comme moi, tout le monde se jette sur
OpenOffice.org

Alors bon, que l'on ne se méprenne pas, je suis fervent militant du mode
textuel, je regrette que lilypond et ABC ne fournissent pas un mode de
sortie en ASCIIart sur la sortie standard (il y avait un -f as que je ne
trouve plus dans les nouvelles versions), et le charme désuet de la
console me facine toujours autant malgré Beryl et autres gerbodromes.
Seulement je me heurte à une difficulté à mettre en avant Lilypond pour
la musique complexe et ABC pour la musique traditionnelle, dans la
communauté de musiciens de mon entourage, et les raisons de leur
hostilité à l'usage de ces logiciels n'a que de bonnes raisons (on a pas
le temps de s'y mettre, j'y comprend rien, j'ai peur d'utiliser une
console) voire des raisons subjectives ou délirantes, (c'est mieux
Finale parceque c'est mieux ; point)
Alors il est possible que je m'y prenne mal dans le processus prosélyte
et que de plus je ne me rende pas compte que
Lilypond est en train de prendre une place importante dans les habitudes
rédactionnelles des musiciens, mais je ne demande qu'à modifier d'une
part ma méthode et d'autre part mon point de vue.

Avec Jean Christophe nous étions parti de l'idée que

1 => la surcouche graphique ne doit jamais oblitérer le role de lilypond
dans le processus de formatage. En résumé, toujours indiquer à
l'utilisateur, qui fait le travail de formatage
2 => La surcouche graphique ne doit jamais oblitérer le code lilypond
3 => La surcouche graphique doit ammener l'utilisateur à s'interesser au
code en le rendant agréable à lire (colorisation syntaxique, identation)
4 => Si c'est possible, intégrer ABC pour les scores de musiques
traditionnelles ce qui permet d'utiliser la formidable banque de donnée
de musique trad du Web

> De toute façon, l'un n'empêche pas l'autre
> mais le travail à fournir pour une interface graphique à Lilypond me
> paraît (peut-être à tord) immense .

C'est bien là le soucis, la tâche est effectivement caustaude. Mais ça empèche pas d'essayer

L'un n'empêche pas l'autre, effectivement, et les idées ne manquent
pas (l'interface de NoteServer en Java est tout simplement bluffante,
à propos) ! Il me semble en tout cas que c'est un objectif à long
terme, et qu'on pourrait peut-être procéder par étapes plus
progressives...

Pouvons-nous commencer à essayer de nous organiser tous ensemble
(c'est-à-dire Christophe, Laurent, et tous ceux qui veulent), pour
déterminer les tâches auxquelles s'atteler en priorité ?
J'ai contacté Sebastiano Vigna, le créateur du LilyPond Snippet
Repository, pour lui demander plus de précisions sur le côté serveur
du LSR ; j'attends sa réponse.

Dans l'immédiat, vu que Christophe a mis en place un serveur,
peut-être pouvons-nous nous intéresser à la partie client ?
Est-il judicieux de poster un petit message sur la liste internationale ?
Bref, par où on commence ?

Ben pour ma part je propose que l'on commence au plus tôt, sachant que pour ma part je suis à fond pendant 3 semaines
(deux semaines de travail non stop et les RMLL à Amiens ou j'espère réussir ma présentation sur Lilypond)
mais Jean Christophe vas prendre le relais et voir avec toutes les
bonnes volontés.
Si christophe à des réticences à laisser la main sur son serveur (ssh ou
autres accès cryptés), moi je veux bien dédier un serveur au processus
de test, code et autres martyrisations électroniques.

Valentin

Laurent

···

Le jeudi 28 juin 2007 à 23:09 +0200, Valentin Villenave a écrit :

Le 28/06/07, christophe<****@****> a écrit :

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr