Bonjour à tous et à toutes,
Nombreuses sont les personnes qui attendent encore la remise en ligne de l’archive Dogmazic.net, depuis son passage hors-ligne fin 2012. Elle contient environ 50 000 titres sous licence libre ou de libre diffusion, émanant de presque 5000 groupes. Notre association Musique Libre, qui l’édite, se veut non commerciale et a toujours refusé toute publicité sur le site, se finançant exclusivement par le biais des dons des auditeurs et des musiciens, et par les adhésions annuelles (10 euros).
2010-2012, le début des problèmes
Les premiers soucis avec l’archive ont commencé à apparaître car l’association ne comptait plus aucun bénévole administrateur pour maintenir l’architecture du site, qui était très complexe, répartie sur plusieurs serveurs (et donc coûteuse), et reposant sur des technologies obsolètes, en particulier le gestionnaire de portail que nous utilisions, qui comportait de si nombreuses failles de sécurité que ses développeur ont abandonné son suivi et en ont créé une nouvelle version en partant de zéro, sans possibilité de migration.
De toute manière, celui-ci ne disposait pas d’une architecture de module, et pour en faire un gestionnaire de portail de musique, les bénévoles de l’époque avaient abondamment modifié son code directement, sans documenter leurs actions, rendant toute mise à jour impossible.
Malheureusement ces bénévoles ont fini par partir vers d’autres aventures, et pendant plusieurs années le site est resté à l’abandon au niveau de la maintenance technique, ce qui a conduit à de nombreuse pannes :
- À partir de 2010, le programme qui s’occupait de parcourir à intervalles réguliers les nouveaux morceaux inscrits pour en remplir les « tags » (meta-données incluses dans les fichiers audio) et transcoder dans les deux formats que nous utilisions, ogg et mp3, est tombé en panne. Cela a eu comme conséquence que la plupart des morceaux n’étaient plus disponible qu’au format mp3 (format majoritairement utilisé par les musiciens utilisateurs du site), mais aussi que si ceux-ci n’avaient pas pris la peine de remplir eux mêmes les tags de leur fichiers, les auditeurs téléchargeant le morceau le trouvaient dans leur bibliothèque classé sous « Artiste inconnu », sans le titre, sans les indications de licence etc .
- À partir de 2011, l’architecture complexe du site a connu de nombreuses pannes, que nous corrigions au coup par coup, mais qui ont entraîné de nombreuses indisponibilités des morceaux, certaines ayant durées plusieurs mois.
- En 2011 toujours, un pirate a utilisé les failles de sécurité de notre gestionnaire de portail, bien connues et documentées dans les bases de données spécialisées, pour injecter des publicités sur le site. Lister ces failles et modifier le code pour les combler a été possible, mais cela a pris plusieurs mois, durant lesquels nous passions notre temps à supprimer le code malicieux injecté pour quelques semaines, jusqu’à ce que le pirate s’en rende compte et l’injecte à nouveau.
- Enfin, fin 2012, une panne généralisée a à nouveau rendu l’archive indisponible. Cela faisait deux ans que nous faisions du traitement « symptomatique » au cas par cas, ce qui s’était avéré terriblement chronophage et avait conduit certains d’entre nous a quitter l’équipe faute de temps. Il apparaissait alors comme évident que nous ne pouvions plus continuer ainsi, et il a fallu prendre la dure décision de ne pas tenter une énième réparation de fortune, mais de passer l’archive hors ligne, avec dans l’idée de tout reprendre de zéro et de mettre en place un nouveau site, plus moderne, plus pérenne.
2013-2014, le développement de Dogmazic V3
Dès lors, un de nos bénévoles s’est libéré pour travailler à plein temps sur le développement d’une nouvelle version de Dogmazic.
En parallèle, l’équipe du bureau a fait un énorme travail de rationalisation de l’infrastructure, qui était répartie sur de nombreux serveurs et donc très coûteuse. Nous avons changé d’hébergeur à plusieurs reprises, jusqu’à trouver un hébergement associatif suffisamment fiable pour propulser blog et forum. Le forum a été migré vers le CMS Vanilla, plus moderne que l’ancien PHPbb. Bien entendu tous les comptes utilisateurs ont été préservés et l’immense masse de messages, qui fournissent un fond documentaire exclusif sur les enjeux et les interrogations des acteurs de la musique sous licences libres et ouvertes a été conservé.
Le développement de Dogmazic V3 avançait bien, et nous pensions initialement pouvoir rouvrir le site un peu avant la mi-2013. Cependant, une fois que nous avons tenté de le mettre en production, nous nous sommes heurtés à de très nombreux problèmes, pour la plupart très complexes, de configuration coté serveur… Une version de test a été mise en ligne mais elle s’est avérée non fonctionnelle. Après des mois et des mois à batailler pour rendre celle-ci utilisable, notre bénévole chargé du dev, suite à des divergences quant à la ligne suivie par l’asso, a finalement annoncé qu’il quittait le projet.
2014-2015 : Impasse, puis nouvel espoir
Nous étions alors complètement dans l’impasse. Dogmazic V3 était basé sur le langage Python, une compétence plutôt rare dans le monde du bénévolat qui gravite autour de nous. Nous n’avions personne parmi les bénévoles pour reprendre le développement.
Fort heureusement, à la toute fin du printemps 2014, nous avons été contacté par Afterster, développeur principal d’Ampache.
Ampache est un logiciel libre qui a presque une quinzaine d’années. On l’installe sur un serveur web pour pouvoir profiter de sa bibliothèque musicale sur n’importe quel appareil disposant d’un navigateur web.
Il se trouve qu’Afterster, qui travaillait sur la future version 3.8, ajoutait des fonctionnalités pour permettre d’utiliser Ampache comme portail pour site de musique.
En relation constante avec le bureau, il s’est occupé d’ajouter une fonction d’upload des morceaux, de suppression des morceaux uploadés précédemment, une gestion complète des licences libres ou de libre diffusion, le streaming et le téléchargement étant déjà gérés par le logiciel.
Ces améliorations étaient disponible dans la branche « dev » du projet, jusqu’au mois de février 2015 ou elle ont été considérées comme suffisamment testées pour être admise dans la branche « beta », Ampache 3.8.
Dans l’état, Ampache est actuellement au point pour propulser la nouvelle version de Dogmazic, que nous appelons entre nous « Dogmazic V4 ». Streaming, téléchargement, gestion des licence et suppression possible des morceaux par leur propriétaires sont les « cores features » dont nous avons besoin. Cependant, il reste encore quelques fonctionnalités à implanter pour fournir une expérience utilisateur qui soit du niveau de celle de Dogmazic V2 avant ses pannes :
- Une gestion des labels
- Une gestion des annonces concert
- Une gestion des pages artistes permettant à ceux-ci de présenter leur projet avec un texte libre
- Des modules en page d’accueil permettant de voir rapidement les nouveaux post du blog et du forum
- Et bien sûr, un bouton « faire un don/adhérer à l’asso »
Et alors, pourquoi ne voit-on rien venir ?
Il y a encore, hormis ces fonctionnalités à ajouter, deux importants points à gérer, l’import des données depuis la sauvegarde de l’archive V2, et la question de l’hébergement.
Les scripts de migration
Un point capital pour permettre de rendre l’archive à nouveau accessible est le codage des scripts de migrations qui permettront à Ampache de propulser l’archive :
- Il faut bien entendu importer les utilisateurs depuis l’ancienne base de données, pour que chacun reste propriétaire de ses morceaux et puisse les effacer si tel est le choix fait
- Ampache se base sur les metadonnées des morceaux pour afficher les titres, noms d’artistes, etc. Comme je le disais précédemment, le robot de Dogmazic V2 qui s’occupait de remplir ces champs si ceux-ci n’avaient pas été pré-remplis par l’artiste étant tombé en panne en 2010, il faudra écrire un script pour remplir ces « tags » en fonction des informations que nous avons dans l’ancienne base de donnée
- Également, à cause de la panne du robot, mais cette fois ci au niveau du transcodage, nous nous retrouvons avec un panachage de morceaux : certains à la fois en ogg et mp3, d’autres (nombreux) uniquement en mp3, d’autres (une poignée) uniquement en ogg. Il faudra faire un choix de format – Ampache transcode les morceaux à la volée pour un format lisible dans la machine client, il n’est donc pas utile d’en proposer plusieurs – et transcoder les morceaux dans cet unique format, à nouveau à l’aide d’un script
- Enfin, un point capital, notre sauvegarde des fichiers musicaux est « brute » : quand un fichier était supprimé de Dogmazic, soit que l’auteur ne souhaitant plus qu’il soit publié, soit qu’il ait été supprimé par l’équipe de modération car ne pouvant être placé sous licence libre (contenant des samples sous copyright, reprise d’un groupe sous copyright…), il n’était pas supprimé physiquement des disques dur, mais simplement noté comme ‘invisible’ dans la base de donnée, et ne s’affichait plus sur le site. Il va donc falloir écrire un script qui recherchera dans la base de données ces morceaux supprimés, pour qu’il ne soient pas publiés dans la nouvelle version du site.
Et alors, ça en est où ?
Afterster, en sus du travail formidable qu’il fait déjà avec Ampache, s’est porté volontaire pour s’occuper de cette problématique de scripts de migration. Mais nous sommes toujours à la recherche de bonnes volontés ! Ampache est écrit en PHP, un langage très répandu et maîtrisé par de nombreux développeurs. Si vous voulez nous donner un coup de main, vous pouvez nous rejoindre sur notre salon IRC (#dogmazic sur le réseau Freenode.net) où il y aura quasi tout le temps quelqu’un pour vous répondre. Vous pouvez également, si l’ajout des fonctions supplémentaires dont nous avons besoin pour Ampache vous intéresse, vous rendre sur GitHub où le code source est hébergé, et proposer des « pull request ». Télécharger Ampache 3.8 beta pour tester les fonctions d’upload et de gestion des licences et débusquer d’éventuels bugs peut également être une manière de participer.
La question de l’hébergement
Pour parler un peu technique, notre hébergement actuel pour le blog que vous lisez en ce moment et notre forum est sur ce que l’on appelle une « machine virtuelle », c’est à dire qu’un seul serveur héberge plusieurs de ces machines qui partagent ses ressources. Une telle solution est suffisante pour propulser avec de bon résultat un blog ou un forum ne contenant que des textes et des images, mais l’audio est beaucoup plus lourd à gérer. Il faut garder à l’esprit que lorsque l’archive sera à nouveau en ligne, il faut s’attendre au fait qu’au bout de quelques mois ou années elle retrouve une fréquentation similaire à celle qu’elle connaissait avant sa panne. L’héberger sur notre VM n’est pas une option, cela conduirait à un site beaucoup trop lent pour permettre une expérience utilisateur agréable.
Nous venons donc de louer un « serveur dédié », c’est à dire une machine unique dont toute la puissance sert à propulser le site qu’elle héberge. La configuration du serveur pour qu’il puisse accueillir Ampache est en cours.
Heureusement, ce poste de dépenses est déjà prévu dans le budget de l’asso, qui est de 700 euros par an. L’année dernière nous avons dépensé moins que prévu, et les dons (merci à vous) ont été au rendez-vous début 2015. Le budget de l’année est donc pour ainsi dire presque bouclé, et nous pouvons nous permettre de louer ce dédié qui servira de plate-forme de développement, puis, à terme, hébergera Dogmazic.net.
En conclusion
Pour finir ce billet, qui est un peu long mais cela faisait bien longtemps que nous n’avions pas communiqué de manière exhaustive sur les actions entreprises, Dogmazic est plus que jamais à une période charnière de son histoire. Elle deviendra ce que nous tous en ferons. N’hésitez pas à participer, que ce soit en diffusant des infos, en commentant ce billet, en postant sur notre forum (qui est hélas devenu bien désert), en adhérant à l’asso ou en faisant un don, en participant aux développements et au débugguage lié à Ampache… On compte sur vous tous, pour qu’une certaine vision de la musique libre perdure encore longtemps !