Myriad Blog 1.3.0 Saturday, Nov 18th, 2017 at 09:37am 

Dev News Monday, Feb 29th, 2016 at 05:06pm
/Myriad Plug-in, et après ? -20-

 
Même si les capacités des navigateurs se sont alignées ces dernières années, pour arriver à un résultat quasi-identique, il reste encore quelques fonctionnalités qui ne sont pas présentes sur tous, surtout quand on va faire un tour vers des navigateurs "exotiques" (principalement sur appareil mobile) ou sur d'anciennes versions.
 
Il nous faut donc un moyen de savoir quelles fonctionnalités sont présentes sur le navigateur qui fait tourner nos apps, afin soit de supprimer proprement les options qui y sont liées, soit mettre en place une méthode de contournement.
 
Dans ce but, nous avons commencé à mettre en place une structure d'"information système", qui répertorie hiérarchiquement les options techniques accessibles.
 
Même si ce n'est pas très parlant pour un non initié, cela permet de voir si le navigateur utilisé est à la page. Dans la démo suivante:
 
Informations système

 
Toutes les rubriques devraient être vertes, sauf "Sound > Audio > Flac", le format audio "flac" n'étant à notre connaissance pris en compte par aucun navigateur actuel (nous avons testé cette option pour vérifier que nous détections bien son absence).
 
Si vous avez du rouge partout, mauvais plan, c'est que vous utilisez Internet Explorer 8
by Olivier Guillion
 8 comments.

Dev News Friday, Feb 26th, 2016 at 05:13pm
Le format graphique SVG

 
 
Nous étions plutôt réticents au début, le format graphique SVG étant connu pour être très complexe, et n'étant pas pris en compte intégralement par beaucoup de logiciels.  
Il faut avouer que la compatibilité, même si elle n'est pas parfaite, s'est bien améliorée ces derniers temps. Il y a maintenant peu de différences dans le rendu graphique sur Chrome, Firefox, Safari ou IE.
 
Quant à la complexité, c'est une légende. Le format est au contraire facilement exploitable, et sa structure XML rend les fichiers facilement explorables et modifiables manuellement, avec un simple éditeur de texte.  
 
Tellement facilement que ce format nous permet de réaliser très rapidement des maquettes graphiques, et combiné avec Javascript, de créer de petits algorithmes spécifiques destinés à être intégrés, plus tard (moyennant réécriture) au programme.
 
Par exemple, pour enrichir graphiquement la nouvelle fonctionnalité d'annotation, nous avons créé des petits modules de mise en valeur du texte:
 

 
Vous pouvez tester vous-même ces petits algorithmes ici :
 
Surlignage et encadrements

 
Malheureusement, le format SVG n'est interprété en natif par aucun système d'exploitation à notre connaissance. C'est bien dommage, car il n'existe aucun autre format de tracé vectoriel compatible entre les systèmes, à part, peut-être,  le PDF, qui est lourd et difficilement manipulable.
 
Cela nous oblige donc à créer notre propre standard de tracé graphique (ou écrire un interpréteur SVG) pour intégrer à nos programmes des algorithmes graphiques tels que ceux présentés dans la démo.
 
Bon week-end !
by Olivier Guillion
 1 comment.

Dev News Wednesday, Feb 24th, 2016 at 05:06pm
Myriad Plug-in, et après ? -19-

 
La première chose que nous ayions commencé à adapter en HTML5/Javascript, et qui nous a permis de jauger la quantité de travail à réaliser est notre lecteur de didacticiels.
 
Il s'agissait d'une partie quasi-séparée de notre plug-in, mais qui faisait appel à pas mal de travaux sur les images, la lecture et le décompactage de fichier binaire, un peu de son, et quelques boutons cliquables.
 
Une pré-pré version tourne donc depuis pas mal de temps, mais elle était trop brute de décoffrage pour être présentée.
Ces derniers jours, nous nous y sommes remis et l'avons quasiment finalisée. Vous pouvez donc en voir la démo ici :
 
Démo des didacticiels

 
Les trois points principaux qui nous manquent sont détaillés dans la page de démo.  
Restera ensuite à terminer quelques détails, comme présenter quelque part le numéro de version et un lien vers Myriad, tester ça sur un maximum de navigateurs et, peut-être, ajouter une animation permettant de patienter pendant le téléchargement et la mise en place du didacticiel.
by Olivier Guillion
 1 comment.

Dev News Monday, Feb 22nd, 2016 at 05:02pm
Myriad Plug-in, et après ? -18-

 
Avec WebAudio, nous avons trouvé une méthode pour modifier à volonté les volumes gauche et droit d'une source stéréo.
Ceci devrait nous permettre de proposer une table de mixage avec réglage de la position stéréo.  
Ce faisant, nous avons séché un bout de temps sur une implémentation bizarroïde d'un composant Webaudio. Ceci fera probablement l'objet d'un billet technique, par charité pour les autres programmeurs qui, comme nous, vont vainement parcourir le Web à la recherche de la solution à ce problème.
 
Sinon, tout avance assez bien. L'app MyrWeb est quasiment opérationnelle en matière d'interface, il reste à finaliser le jeu de la musique, et à écrire la gestion de la barre de temps, avec sélection d'une partie, jeu en boucle, etc.
 
Quelques points nous posent encore des problèmes de compatibilité entre navigateurs, notamment la prise en compte par l'app de la touche retour arrière (sur Chrome, elle fait revenir à la page Web visitée précédemment), et le téléchargement des fichiers  inclus dans l'archive (sur Firefox, ça fonctionne en pas à pas, et ne fait rien lorsqu'on l'essaie vraiment).
 
Encore un peu, et nous pourrons proposer une démo complète de l'interface.
by Olivier Guillion
 1 comment.

Dev News Thursday, Feb 18th, 2016 at 05:22pm
Après le plug-in, réflexions sur MUSL

 
- LE POURQUOI DU COMMENT -
 
L'abandon de la technologie (NPAPI) qui nous permettait de proposer le plug-in de visualisation et de jeu des partitions musicales nous contraint à adopter un nouveau système.
Avec ce nouveau système, les fichiers de partitions seront plus volumineux, dans des proportions assez importantes. Là où on comptait en kilo-octets, un fichier de partition pourrait maintenant occuper plusieurs méga-octets.
 
La licence d'Harmony Assistant inclut un espace de stockage des partitions offert à chaque utilisateur, sur un site baptisé MUSL (Myriad Users Score Library). Directement accessible depuis le logiciel, une interface graphique permet de publier quasi instantanément ses créations musicales sur Internet.
 
Une limite d'espace (20Mo par utilisateur) permettait de stocker un nombre important de partitions sans souci. L'espace de stockage sur nos serveurs étant limité, nous avions calculé que tout le monde n'utiliserait pas la totalité de son espace, et donc que nous aurions de la marge.  
 
A l'heure actuelle, 14000 partitions sont ainsi hébergées chez nous (toutes ne sont pas visibles publiquement), sans que cela pose un problème de saturation de disque.
 
Mais l'inflation des fichiers induite par le nouveau système pourrait bien changer la donne.
 
- QU'EST-CE QUE CELA VA CHANGER ? -
 
Tout d'abord, les 20Mo risquent de ne pas être suffisants pour beaucoup. Cela correspondrait en moyenne à entre 10 et 20 partitions par utilisateur (nous sommes en train de calculer des statistiques pour affiner ces chiffres), ce qui n'est pas énorme.  Et encore, c'est calculé en considérant que les pistes audio sont stockées en basse qualité pour réduire au maximum la taille des fichiers. Sinon, ce serait plutôt entre 5 et 10 partitions.
 
Même si nous conservons cette limite, notre serveur actuel risque de ne pas disposer d'un espace suffisamment confortable pour héberger tout cela dans des conditions sereines. Pour l'instant, cela suffirait, mais à peine. Il nous faut toujours prévoir une marge de manoeuvre.
 
 
- QUELLES SOLUTIONS ? -
 
Nous réfléchissons donc à une solution au problème. Pour l'instant, nous avons plusieurs options:
 
1- Fermer définitivement le MUSL
 
C'est une solution de tout dernier recours. Le MUSL permet à tous ceux qui ne disposent pas d'un site personnel, ou qui n'ont pas les connaissances technique, le temps ou l'envie de mettre en place leurs propres pages de publier et partager leur travail. Ce serait vraiment dommage, pour tout le monde, de ne plus proposer ce service.
 
2- Continuer comme cela, avec des contraintes d'espace égales ou inférieures
 
Cela peut fonctionner techniquement, mais beaucoup vont se retrouver bloqués par le manque d'espace. Pouvoir proposer seulement 5 à 10 fichiers risque de réduire fortement l'intérêt du système.
 
3- Changer d'hébergement  
 
Il est possible de déménager l'intégralité du MUSL vers un service disposant d'une beaucoup plus grande capacité de stockage. Les quotas pourrait alors être augmentés, afin de permettre à chaque utilisateur de stocker plusieurs dizaines de ses partitions (nombre, ou plutôt durée cumulée de jeu, à déterminer).  
 
Quatre sous-options ici:
 
a) Conserver la gratuité
 
Cet hébergement, nous devrions le payer, pour pouvoir continuer à proposer gratuitement un service à nos utilisateurs. Techniquement possible, financièrement un peu moins, même si on peut trouver des hébergements vraiment pas chers.
 
b) Une gratuité partielle
 
Un service de base (hébergement de quelques partitions et/ou son en basse qualité uniquement et/ou pas d'espace privé) serait offert avec la licence, et il serait possible, en s'acquittant d'un forfait annuel de quelques euros, d'opter pour une version "premium" qui éliminerait ces limites ou les pousserait vers le haut.
 
c) Un service payant
 
Même chose que précédemment, mais l'espace, doté de toutes les fonctionnalités et d'une place confortable ne serait accessible qu'après paiement dudit forfait annuel.
 
d) Un service en contribution volontaire
 
Ne pas demander automatiquement une contribution aux utilisateurs, mais laisser ceux qui le désirent contribuer (à vot' bon coeur, m'sieur-dame). Nous listons cette possibilité pour la forme, étant persuadés qu'à part une ou deux personnes très motivées, personne ne donnerait un kopek.
 
Voilà pour l'instant où en sont nos réflexions. Qui serait prêt à payer, pour quel service, quel montant, dans quelles conditions ? Autant de questions auxquelles nous n'avons aucune réponse à l'heure actuelle. Et il y a peut-être d'autres solutions auxquelles nous n'avons pas pensé...
by Olivier Guillion
 2 comments.

Dev News Wednesday, Feb 17th, 2016 at 05:18pm
Myriad Plug-in, et après ? -16-

 
Avec l'app Myrweb, nous bataillons avec les problèmes de "cross-origin". Pour comprendre, il faut entrer un peu dans les détails techniques. Ces détails, l'utilisateur final ne devrait pas avoir à s'en soucier, mais comprendre ce qui se passe ne nuit jamais.
 
Une page Web peut demander d'afficher des images situées sur un autre site. Par exemple, je peux demander d'afficher ici n'importe quelle image  située ailleurs que sur le site myriad-online.com.
La preuve:
Cette image est située sur myriad-users.com, donc un autre site, et cela ne pose pas de problème.
 
Par contre, pour des raisons de sécurité, le navigateur refusera que j'intègre à ma page web un script situé sur un site extérieur qui n'a pas spécifié son accord pour ce genre de chose. Cela est censé empêcher à un site d'utiliser les scripts de quelqu'un d'autre en loucedé.
J'avoue ne pas très bien comprendre. Les scripts étant des fichiers texte, ils sont lisibles, donc récupérables et copiables malgré tout. Mais bon, admettons.
 
Enfin, un script qui demande de charger un fichier externe pour ensuite travailler sur les données se verra appliquer la même règle. Le fichier en question doit être situé sur un serveur qui donne son autorisation pour un accès depuis un script. Sinon, l'accès est refusé.
 
Là où ça se complique, c'est que la plupart des navigateurs (tous sauf Firefox) empêchent également qu'un script accède à un fichier situé localement sur l'ordinateur (protocole file://), même si la page Web et/ou le script en question sont également situés en local sur file://.
Même en tournant le problème dans tous les sens, cette restriction est complètement irrationnelle.  
 
Qu'est-ce que cela implique pour nous ?
Nous voulions permettre à l'utilisateur, lorsqu'il exporte une partition en myrweb, de pouvoir visualiser ce que cela donne dans l'app. Nous pensions donc créer une petite page Web en local, qui accède au fichier myrweb sauvegardé, et qui le montre ainsi dans le navigateur. Mais la règle de cross-origin nous en empêche (impossible de lire depuis un script les données situées en local).
 
Il reste donc quatre solution :  
 
1- Envoyer (upload) le myrweb quelque part sur notre site, et le montrer depuis cet endroit (protocole HTTP habituel)
Mais un envoi de plusieurs mega-octets, ça prend du temps, et ça monopolise de la bande passante et de l'espace sur nos serveurs pour une simple vérification d'aspect par l'utilisateur
 
2- Ouvrir un mini-serveur Web sur le poste de l'utilisateur, et lui montrer sa page en intranet (protole HTTP sur l'IP locale)
Techniquement possible, mais beaucoup, beaucoup trop compliqué et lourd en pratique.
 
3- Ecrire nous-même un visualiseur de .myrweb qui ne passe pas par une page Web ou un script.
Cela revient à réécrire l'app en C, avec les problèmes de différences d'aspect et de réaction que cela implique, tout ça pour un maigre résultat.
 
4- Parvenir à ce que le script n'ait pas à accéder au fichier .myrweb lui-même, mais que toutes les données soient contenues dans la page Web de test elle-même. Ainsi, pas d'accès à un fichier extérieur, donc pas de problème de cross-origin. Nous sommes en train de tester la faisabilité de cette dernière solution, avant de jeter complètement l'éponge sur ce point.
by Olivier Guillion
 4 comments.

Dev News Monday, Feb 15th, 2016 at 05:18pm
Myriad Plug-in, et après ? -14-

 
A chaque nouvelle fonction mise en place dans l'app MyrWeb, nous la testons sur différents navigateurs, notamment Firefox et Chrome sur Mac & Windows, Safari sur Mac et Internet Explorer sur Windows.
 
Rapidement, nous avons dû éliminer les anciennes versions d'IE, qui ne permettent quasiment de ne rien faire, ni graphiquement, ni en audio.  
La version minimale d'IE sera donc la 10 ou peut-être la 11 (nous pouvons tester sur IE 11, mais n'avons pas d'IE 10 sous la main).
 
Pour Safari sur Mac, les dernières versions ne tournent que sur les dernières versions de MacOS. Les mises à jour du système étant payantes, et ne s'installant pas sur certains vieux Macs, pas mal d'utilisateurs n'ont pas la dernière version de MacOS, et utilisent donc une ancienne version de Safari.  
 
La plus vieille que nous ayions à disposition est Safari 5.0.6, qui date de 2011. Elle permet de faire fonctionner l'app, avec quelques options qui sautent ou qui tournent en mode dégradé, mais ça fonctionne.
 
Donc dès qu'une fonctionnalité a été ajoutée et testée sur Firefox et Chrome, nous l'adaptons pour qu'elle fonctionne aussi sur IE 11 et la vieille version de Safari.
 
Dernière en date, les dégradés de couleur, donc voici une démo:
 
Dégradés de couleurs

 
Cette démo fonctionne sur toutes les configurations, mais il semble y avoir une différence dans la manière dont Safari prend en compte l'angle de dégradé. Ainsi, chaque petite fonction nous occupe environ 3 fois plus longtemps qu'elle aurait dû, mais, point positif, à la fin ça fonctionne. Ce n'était pas le cas il y a encore quelques années, avant HTML5.
by Olivier Guillion
 2 comments.

Dev News Thursday, Feb 11th, 2016 at 05:13pm
Myriad Plug-in, et après ? -12-

 
Les deux équipe de forage du tunnel se sont rencontrées au milieu. D'un coté, la sauvegarde au format d'export Myrweb, de l'autre, l'utilisation de ces fichiers dans une app HTML5/CSS3/JS.
 
Les fichiers sont maintenant lus, décompactés, analysés, et ils commencent à être interprétés.
 
Nous avons mis en place une première version du clavier virtuel permettant de montrer le doigté du piano en fonction de la musique
 

 
Cette toute première version peut être testée en vrai sur cette page:
 
Démo du clavier virtuel Myrweb
by Olivier Guillion
 1 comment.

Dev News Tuesday, Feb 9th, 2016 at 05:25pm
Myriad Plug-in, et après ? -10-

 
Nous avons utilisé WebAudio pour générer des sons de clic et de cloche de métronome, puis pour jouer ces sons synchronisés avec deux pistes MP3.
 
Le petit test qui suit permet donc de jouer un morceau avec le métronome, et de régler séparément les volumes de chaque piste:
 
Métronome WebAudio

 
Pour les navigateurs ne supportant pas le WebAudio, nous avons également prévu que le son du métronome puisse être calculé sur l'ensemble de la durée de la musique. Cela prend un peu de temps à générer, mais permet d'offrir une solution sur ces navigateurs.
 
Hélas, nous avions oublié qu'Internet Explorer ne sait pas jouer les données brutes WAV (non compressées). Il ne peut donc pas jouer la piste de métronome que l'app a construite. Pour que cela fonctionne, il faudrait que nous créions des données MP3, mais là, créer des données sonores puis les encoder en MP3, tout ça en javascript, c'est un peu trop compliqué pour simplement pallier aux carences d'IE.
by Olivier Guillion
 3 comments.

Dev News Friday, Feb 5th, 2016 at 05:14pm
Myriad Plug-in, et après ? -8-

 
Nous avons réalisé un petit essai de calcul de données numériques par WebAudio (non disponible sur IE):
 
Génération de sons par WebAudio

 
Ce procédé nous permettra de réécrire la partie sonore l'app de Kooplet que nous avions réalisée en ActionScript (Flash). En effet, le plug-in flash, lui aussi utilisant NPAPI, aurait dû ne plus être supporté en même temps que notre plug-in. Mais il continue à fonctionner encore, bénéficiant d'un traitement de faveur que nous trouvons assez injuste.
 
Il est en effet le seul plug-in NPAPI à fonctionner encore sur Firefox 64 bits, ce navigateur le testant spécifiquement pour le laisser passer entre les mailles, et bloquant définitivement tous les autres.
 
Pour en revenir à l'audio, nous allons faire d'autres tests sur WebAudio, pour voir s'il ne serait pas possible d'implémenter une fonction "métronome" par ce biais. Le métronome est en effet en sursis dans la nouvelle version du plug-in à moins de stocker une piste MP3 supplémentaire pour lui, ce qui ferait grossir encore le fichier.
 
Bon week-end !
by Olivier Guillion

Dev News Thursday, Feb 4th, 2016 at 05:08pm
Myriad Plug-in, et après ? -7-

 
Ce n'est certainement pas la partie la plus cruciale du projet, mais nous avons commencé à réfléchir à l'interface.  
 
Il faut pouvoir afficher des boutons, des icônes, etc.  En temps normal, chaque graphisme, dans chacun de ses états, c'est un fichier supplémentaire, qui doit être téléchargé par l'utilisateur.  
 
Mais nous nous sommes alors souvenu que pour construire l'image de la page de partition, nous avions utilisé le format SVG. Très compacts, les dessins sont zoomables à volonté, et cerise sur le gâteau, ils peuvent être animés automatiquement.
 
Nous avons alors commencé à dessiner quelques icônes en SVG, et prévu des animations (transitions) pour les passages d'un état à l'autre.
Une petite démo illustre cela:
 
Icônes SVG et transitions

 
Nous avons eu ainsi la confirmation que la mode actuelle des à-plats de couleur pour les icônes n'est pas une affaire d'esthétique ou d'ergonomie, mais bien de facilité de programmation.
Mais plutôt que de dire : "On revient en arrière parce que ça facilite la vie des programmeurs", cela a été présenté comme une amélioration, le nec plus ultra de la hi-tech.
 
Quoi qu'il en soit, nous commençons à savoir un peu créer des choses en SVG, et il se peut qu'à l'avenir, nous nous penchions sérieusement sur ce format pour une intégration dans nos produits (l'export existe maintenant, mais l'import est peut-être plus compliqué).
 
by Olivier Guillion
 1 comment.

Dev News Tuesday, Feb 2nd, 2016 at 05:24pm
Myriad Plug-in, et après ? -5-

 
Le son
 
Nous avons conduit divers tests sur les possibilités sonores du HTML5.  
Dans ce domaine, la disparité entre les navigateurs semble assez forte. Un standard prometteur, appelé WebAudio, est en passe d'être implémenté sur la plupart d'entre eux, mais Microsoft semble avoir fait l'impasse sur Internet Explorer, pour ne s'intéresser qu'à Edge (Windows 10 uniquement).
 
Pour le reste, WebAudio permet pas mal de choses, dont de la génération sonore à la volée.
Voici le résultat de nos essais. Ces derniers étant codés à l'arrache, nous rechignons à les montrer, car nous recevrions probablement des commentaires sur l'aspect graphique, l'ergonomie ou les défauts de synchro. Nous vous demandons donc de nous croire sur paroles. Ceux qui sont intéressés peuvent cependant nous contacter en direct.
 
I- WebAudio API
 
Permet de créer un "graphe" audio, c'est-à-dire des noeud interconnectés. Par exemple, un noeud "données numériques" connecté à un noeud "filtre", lui-même connecté à un noeud "gain", lui-même connecté à la sortie.
Lorsque le graphe est lancé, les données numériques sont filtrées, amplifiées, puis envoyées aux haut-parleurs.
 
Ne pouvant pas recoder en Javascript l'intégralité de notre module de sortie audio, avec Virtual Singer et tous les effets numériques, nous ne pouvons pas envisager une génération sonore identique à Harmony. Nous avons tenté des solutions intermédiaires, mais sans succès. A priori, il faudra donc stocker l'intégralité de l'audio du morceau.
 
Compatibilité: initialisations particulières sur Safari, non géré par IE
 
II- Le tag <audio> HTML5
 
C'est une fonction de haut niveau du HTML5, beaucoup plus compatible que WebAudio API, mais beaucoup moins puissante. Elle permet de jouer un morceau numérique extérieur, en MP3, OGG (pas tous les navigateurs) ou WAV (tous, sauf apparemment IE qui gèrerait pas ce format créé par Microsoft !).  
En rusant pas mal, on peut s'arranger pour lui faire jouer des données MP3 extraites par le Javascript plutôt qu'un véritable fichier séparé.
 
De tout cela, voici ce que nous en avons tiré:
 
  • Le format spécial d'export de musique contiendrait les données MP3 de tout le morceau, ou plusieurs MP3 représentant les portées pouvant être jouées en solo
     
  • L'app jouerait ce ou ces MP3. Il semblerait possible de varier la vitesse et/ou de transposer l'audio.
     
  • Si le fichier contient plusieurs MP3, l'app pourrait les mixer, et faire varier le volume relatif de chacun
     
  • Il serait sans doute possible de ne pas démarrer au début, et de boucler sur une portion
     
  • Il ne serait pas possible de modifier leur position stéréo
     
  • Pour pouvoir jouer le métronome, il faudrait une piste MP3 séparée
     
    Les fichiers pourraient devenir très volumineux, si beaucoup de pistes différentes étaient nécessaires (16 ko par seconde et par piste). Mais c'est pour l'instant la seule solution que nous ayions trouvée.
  • by Olivier Guillion
     2 comments.


    Full view
    Reduced view
    Most recent first
    Oldest first
    All
    Didier Guillion
    Olivier Guillion
    Sylvie Ricard
    All
    Dev News
    Technical
    Mood
    Memories
    Myriad Life
    To be seen
    30 previous days
    Apr 2006
    May 2006
    Jun 2006
    Jul 2006
    Aug 2006
    Sep 2006
    Oct 2006
    Nov 2006
    Dec 2006
    Jan 2007
    Feb 2007
    Mar 2007
    Apr 2007
    May 2007
    Jun 2007
    Jul 2007
    Aug 2007
    Sep 2007
    Oct 2007
    Nov 2007
    Dec 2007
    Jan 2008
    Feb 2008
    Mar 2008
    Apr 2008
    May 2008
    Jun 2008
    Jul 2008
    Aug 2008
    Sep 2008
    Oct 2008
    Nov 2008
    Dec 2008
    Jan 2009
    Feb 2009
    Mar 2009
    Apr 2009
    May 2009
    Jun 2009
    Jul 2009
    Aug 2009
    Sep 2009
    Oct 2009
    Nov 2009
    Dec 2009
    Jan 2010
    Feb 2010
    Mar 2010
    Apr 2010
    May 2010
    Jun 2010
    Jul 2010
    Aug 2010
    Sep 2010
    Oct 2010
    Nov 2010
    Dec 2010
    Jan 2011
    Feb 2011
    Mar 2011
    Apr 2011
    May 2011
    Jun 2011
    Jul 2011
    Aug 2011
    Sep 2011
    Oct 2011
    Nov 2011
    Dec 2011
    Jan 2012
    Feb 2012
    Mar 2012
    Apr 2012
    May 2012
    Jun 2012
    Jul 2012
    Aug 2012
    Sep 2012
    Oct 2012
    Nov 2012
    Dec 2012
    Jan 2013
    Feb 2013
    Mar 2013
    Apr 2013
    May 2013
    Jun 2013
    Jul 2013
    Aug 2013
    Sep 2013
    Oct 2013
    Nov 2013
    Dec 2013
    Jan 2014
    Feb 2014
    Mar 2014
    Apr 2014
    May 2014
    Jun 2014
    Jul 2014
    Aug 2014
    Sep 2014
    Oct 2014
    Nov 2014
    Dec 2014
    Jan 2015
    Feb 2015
    Mar 2015
    Apr 2015
    May 2015
    Jun 2015
    Jul 2015
    Aug 2015
    Sep 2015
    Oct 2015
    Nov 2015
    Dec 2015
    Jan 2016
    Feb 2016
    Mar 2016
    Apr 2016
    May 2016
    Jun 2016
    Jul 2016
    Aug 2016
    Sep 2016
    Oct 2016
    Nov 2016
    Dec 2016
    Jan 2017
    Feb 2017
    Mar 2017
    Apr 2017
    May 2017
    Jun 2017
    Jul 2017
    Aug 2017
    Sep 2017
    Oct 2017
    Nov 2017
    Nov 17th, 2017 at 04:53pm 
    Article from Didier Guillion
    Harmony 9.7  étape 148
    Nov 16th, 2017 at 05:09pm 
    Article from Olivier Guillion
    Harmony 9.7 et autre étape 147
    Nov 15th, 2017 at 05:00pm 
    Article from Didier Guillion
    PDFtoMusic 1.6.3
    Nov 14th, 2017 at 05:10pm 
    Article from Olivier Guillion
    Harmony 9.7 et autre étape 146
    Nov 13th, 2017 at 07:25pm 
    Comment from Antoine Bautista
    2 Boutons?....
    Nov 13th, 2017 at 07:02pm 
    Comment from Antoine Bautista
    petit jeu Sur MP....
    Nov 13th, 2017 at 07:02pm 
    Comment from Antoine Bautista
    petit jeu Sur MP....
    Nov 13th, 2017 at 05:03pm 
    Article from Didier Guillion
    Harmony 9.7 et autre étape 145
    Nov 12th, 2017 at 07:55pm 
    Comment from Antoine Bautista
    RC2°....
    Nov 11th, 2017 at 05:19pm 
    Comment from Antoine Bautista
    RC2....

    Top of page
    Legal information Last update:  (c) Myriad