Pour nous contacter : soyez au rendez-vous sur IRC ! ⋅ Parcourir l'archive musicale Dogmazic ⋅ Notre Blog
Notre Documentation
Notre Documentation
Clewn.org, hébergement non-commercial pour fichiers audio
Salut,
Bon, ok, faudra une bonne soixantaine de jour pour que j'uploade toute la musique que je compte mettre là bas au début, donc pour les deux prochains mois le site ne sera pas toujours bien au top (chansons non streamables, non téléchargeables dans certains formats...) mais le projet Clewn avance bien, ahahahaha fallait réfléchir avant de mettre vos morceaux sous licence libre ou ouverte, maintenant je peux les republier et vous pouvez rien y faire !
Pour la grave question de la modération, d'emblée je laisse le boulot aux auditeurs et auditrices (pour ce qui est de faire le tri) ; peut-être plus tard un système de flag et de score, avec un seuil réglable pour ne plus voir les morceaux signalés par plusieurs personnes ?
Ouais bon, je sais, c'est vraiment un projet à la mord moi le nœud, codé en quelques jours juste parce que ça m'énervait que ma musique ne soit plus dispo sur Dogmazic.
Il y a plein de trucs foireux dedans...
Un simple exemple, on ne peut pas supprimer soi-même un fichier qu'on aurait uploadé, il faut m'envoyer un mail...
Mais bon, vous avez des critiques, vous avez un player flash free, et même, vous pouvez appeler vos potes qui publient sous © standard, tant qu'un morceau n'est pas déposé SACEM/etc et ne contient pas d'élément illégaux (genre des samples déposés SACEM/etc, une reprise d'une chanson SACEM/Etc, etc, etc)... Remarquez dans la pratique, je vous renvoie au paragraphe précédent concernant la modération pour la façon dont le truc est géré.
Par ce que, ah ouais, on peut poster sans se créer de compte, par exemple les critiques sont juste identifiées par l'adresse IP, et la musique, ben par rien du tout.
http://clewn.org
Tous les fichiers sont hotlinkables. Et faut les tagguer soi-même bien correctement tout ça, avec le nom de l'artiste, le titre, la licence dans le champ commentaire... Et faut les uploader trois fois, dans trois formats (ogg, mp3, flac). Ben ouais on a rien sans rien.
Après vous avez un player exportable 100% flash-free pour votre site, c'est sympa, non ?
Allez bon moi je vais vous laisser, hein, c'est pas tout ça mais l'heure tourne, et ce soir je fête mon non-anniversaire.
Bon, ok, faudra une bonne soixantaine de jour pour que j'uploade toute la musique que je compte mettre là bas au début, donc pour les deux prochains mois le site ne sera pas toujours bien au top (chansons non streamables, non téléchargeables dans certains formats...) mais le projet Clewn avance bien, ahahahaha fallait réfléchir avant de mettre vos morceaux sous licence libre ou ouverte, maintenant je peux les republier et vous pouvez rien y faire !
Pour la grave question de la modération, d'emblée je laisse le boulot aux auditeurs et auditrices (pour ce qui est de faire le tri) ; peut-être plus tard un système de flag et de score, avec un seuil réglable pour ne plus voir les morceaux signalés par plusieurs personnes ?
Ouais bon, je sais, c'est vraiment un projet à la mord moi le nœud, codé en quelques jours juste parce que ça m'énervait que ma musique ne soit plus dispo sur Dogmazic.
Il y a plein de trucs foireux dedans...
Un simple exemple, on ne peut pas supprimer soi-même un fichier qu'on aurait uploadé, il faut m'envoyer un mail...
Mais bon, vous avez des critiques, vous avez un player flash free, et même, vous pouvez appeler vos potes qui publient sous © standard, tant qu'un morceau n'est pas déposé SACEM/etc et ne contient pas d'élément illégaux (genre des samples déposés SACEM/etc, une reprise d'une chanson SACEM/Etc, etc, etc)... Remarquez dans la pratique, je vous renvoie au paragraphe précédent concernant la modération pour la façon dont le truc est géré.
Par ce que, ah ouais, on peut poster sans se créer de compte, par exemple les critiques sont juste identifiées par l'adresse IP, et la musique, ben par rien du tout.
http://clewn.org
Tous les fichiers sont hotlinkables. Et faut les tagguer soi-même bien correctement tout ça, avec le nom de l'artiste, le titre, la licence dans le champ commentaire... Et faut les uploader trois fois, dans trois formats (ogg, mp3, flac). Ben ouais on a rien sans rien.
Après vous avez un player exportable 100% flash-free pour votre site, c'est sympa, non ?
Allez bon moi je vais vous laisser, hein, c'est pas tout ça mais l'heure tourne, et ce soir je fête mon non-anniversaire.
Réponses
tu me surprendras sans arrêt Shangril
jp
J'ai fait une petite modif, et les morceaux ne sont désormais listés que s'ils sont dispo dans les trois formats. En conséquence
-le DJ mode devient utilisable
-tous les morceaux présentés sont streamables et téléchargeables dans les trois formats
-il faudra attendre que les trois versions de chaque morceau aient été uploadées, aussi certain morceaux dogmaziens qui étaient déjà là mais pas dans les trois formats n'apparaissent désormais plus, jusqu'à ce que les formats manquants aient été transférés.
Bye !
J'ai un peu revu mes calculs, je pense qu'il faudra compter deux mois et demi pour la musique de Dogma que j'ai déjà encodée dans les trois formats. Pour la transférer sur ce serveur, je veux dire. Ensuite il faudra que j'encode et que je transfère ce qu'il manque, donc encore des mois de upload à ajouter, je pense.
J'estime que j'ai entre 3 et 4 cinquièmes de l'archive en backup ici.
Euh, sinon,
http://clewn.org est fier de vous présenter son module Pages. Ouais, ouais, on se croirait sur Facebook, on se croirait sur Twitter, vous pouvez créer une page pour votre chose ou votre machin. C'est super-super basique, par exemple, il n'y a même pas, pour le moment, de liste publique des pages, vous ne pouvez accéder à une page que si vous connaissez déjà son adresse d'une façon ou d'une autre. Vu que les adresses des pages dérivent des adresses du site web officiel auquel elles sont lées, c'est pas très compliqué, cependant. Suffit d'aller dans "nouvelle page" et de taper l'adresse du site.
Mais on peut même pas poster de photos.
Le modules Page est propulsé par une version légèrement modifiée du module de gestion de micro communauté qui propulse la fonctions "critiques et commentaires" de la partie musique du site.
Il est prévu de modifier les deux pour ajouter une gestion des comptes, pour pouvoir y poster sans dévoiler son adresse IP, et être un peu plus sûr que l'on parle à la bonne personne d'une session à l'autre.
Après, si je peux ajouter du support pour le multimédia (images, musique, vidéo) ce serait pas mal. Enfin, faudrait déjà que le site ait une fonction image & vidéo.
Bien entendu, le tout étant basé sur COCMS, vous pouvez intégrer un module de gestion de communauté hébergée par Clewn sur votre propre site web, comme ça :
[code:1]
<iframe src="http://clewn.org/audio/clewn/opt/rev/" style="background-color:white;" width="100%" height="100"%></iframe>
[/code:1]
En attendant que soit mise en ligne une section "communauté" sur Clewn, qui listera tous les sites webs qui propose une communauté Clewn et proposera le code avec diverses possibilités de customisation, genre des sous-forums thématiques pour votre site sans avoir besoin de créer une page web par forum.
Parce que, ouais, le principe de Clewn, c'est que pour la page ou est placée le widget, en fonction de son adresse internet exacte, on a une chatroom spécifique. Donc suffit de monter trois pages "Café du commerce" "Petites annonces" et "Annonces concert" par exemple, avec à chaque fois le code collé dedans, pour obtenir 3 boards différents.
J'ai déjà fait quelques tests, on peut arriver à faire des trucs très, très chiadés avec un simple blog Blogger. Par exemple, je veux pas raconter ma vie, mais bon, j'ai eu à faire mon service militaire, je suis né juste trois mois trop tôt à quelques jours près, et bon, on m'a envoyé dans l'infanterie, dans l'est de la France, et j'ai essayé de retrouver quelques autres appelés de ma période pour échanger des photos, que ce soit par Facebook ou par Copains d'Avant j'ai fait choux blanc.
J'ai monté un simple blog Blogger qui intègre le widget de Clewn, et en quelques minutes juste avec un peu de pur HTML statique j'avais un forum général, des forums spécifiques hard codés, des forums spécifiques en fonction de plages de paramètres hard codées ou 100% free form, enfin bon on peut monter un site communautaire en deux secondes avec ça.
Bon je sais pas si je vais retrouver beaucoup d'anciens camarades comme ça, mais ça montre un peu le potentiel du truc.
Voilà pour les news. Quasi tout Me In The Bath est arrivé, tout Beatles II, une bonne partie de Gorbie's Stuff, et du Dogmazic arrive petit à petit.
Bonn, so are hey
Nico
[code:1]<object data="http://clewn.org/audio/clewn/opt/rev/" style="background-color:white;width:100%;height:100%;" type="text/html"></obect> [/code:1]
Si je me trompe de type, corrigez-moi sévèrement, je n’ai pas vérifié ce qu’il y a dedans. Mais si j’utilise width= ou height= en html5, le validateur w3c me raconte que c’est obsolète et qu’il faut utiliser du css instead, et si j'utilise iframe il me raconte qu’il préfère un obect et non pas ce vieux machin.
Dis donc toi quand tu te trouves un hobby ça plaisante pas. Moi j'ai tendance à être beaucoup plus coulant dans mon approche du dev web.
En tous cas ça fait plaisir que quelqu'un ait testé le code avec un validateur HTML, et merci aussi pour les suggestions. J'ajoute ta version du code au site tout de suite.
Tiens en remerciement je vais encoder (mes bases sont les MP3 Dogmazic de Juillet 2012) les morceaux des productions Monpauvrelieu qui trainent dans mon archive partielle de l'archive en priorité, et ensuite les transférer sur le serveur en priorité aussi.
Je fais ça pour n'importe qui d'autre sur demande, soit dit en passant, du moment que je suis de bonne humeur.
Comme ça tu pourras tester la propagation virale via widget de la musique du label in situ.
Sinon, autre remarque, pour la balise audio, il vaut mieux mettre une liste de plusieurs formats, avec au minimum du mp3 et du ogg vorbis. Le ogg ne fonctionne pas nativement dans IE, et le mp3 ne fonctionne pas nativement dans Firefox. Dans mon cas, je liste tous les formats disponibles, dans l’ordre de la meilleure à la moins bonne qualité. Puisque archive.org n’envoie pas toujours assez vite pour du streaming à la volée, je code aussi preload="auto", et là ça fonctionne bien s’il y a une ou deux chansons.
Par contre, je n’ai pas encore testé le truc s’il y a une dizaine de morceaux sur la même page. Je sais juste que la balise object (qui ne marche qu’en mp3 chez moi, allez comprendre) avec une trentaine de morceaux fait que la page de l’abum MEUH (pas encore changé en html5 pour l’instant) met un certain temps à se charger.
Je sais que chez moi, pour l’instant, firefox n’utilise ni la wav, ni le mp3, ni le wma, ni le aiff, ni le flac, pour l'audio, et non plus pas le mp4 et le mpeg pour la vidéo, mais seulement le ogv. Jamais testé ailleurs que firefox et konqueror sur mon ordi. Je ferais une tentative d’essai avec IE dès que j’en aurais l’occasion dans ma famille ou chez un ami.
Dans les choses pas très logique, j’ai noté que les balises audio et video sont souvent présentées comme des nouveautés du html5, mais en html 4.01 transitionnal ça fonctionne chez moi, et le validateur du w3c ne me le compte pas comme erreur. Testé en anticipant le passage au html5 sur des mises à jours mineures.
Si le mp3 ou le ogg+HTML5 est dispo, ça passe.
Si le streaming inline de fichier mp3 direct est supporté+javascript pour tester, ça passe
Si javascript est pas supporté ou le mp3 direct est pas supporté : liste m3u pour chaque morceau de la sélection, ça passe aussi.
J'ai implémenté un petit truc, donc le serveur a pas été très stable au cours des dernières heures, mais désormais il y a un player embeddable sur une recherche full text sur les noms de fichiers, pratique pour les labels sur Dogmazic dont le nom se retrouve dans le nom de fichier, que j'ai conservé.
Par exemple, pour avoir les 17 morceaux (prochainement) de Monpauvrelieu que j'avais immédiatement sous la main dans mon archive de l'archive, intégrés via le player sur le blog officiel du fan-club (non-officiel) du label :
http://monpauvrelieu-fanclub.blogspot.fr/
J'arrive pas à faire un mode fullscreen en Javascript pour le moment, mais j'y arriverai, j'y arriverai.
Et au passage, “Tu désenchantas le service de clientèle” est sous licence BY sur dogmazic à défaut d’autre chose, mais je publie le morceau sous licence LPRAB :
http://monpauvrelieu.com/t/bh/
C’est la seule licence qui soit cohérente avec ça.
Euh, sinon, je suis en train de complétement halluciner, wow, merci tout le monde, entre le lancement du site jeudi soir et la dernière mise à jour des stats mardi midi :
300 visiteurs différents (hors bots), 362 visites, et une bonne vingtaine d'heures de musique streamée ou téléchargée. 120 visiteurs différent rien qu'entre lundi midi et mardi midi, le score a presque doublé juste sur la dernière journée. Et pourtant j'attaque la promo on ne peut plus progressivement. Merci. Merci.
Bonne nuit,
Nico
Pour le php, j’attends de bien maîtriser le html5 (quasi-fait), le css (quasi-fait), le javascript (rien du tout), et de trouver tout ce qu’il faut qui m’évitera les failles de sécurité à "téléchargez tout sur megauplooad".
Même si en termes d’audience il n’y a aucun intérêt pour ce genre de piratage, il vaut mieux éviter de le rendre intéressant par une facilité à exploiter une faille quelconque.
Tout ça se fera donc progressivement.
Un truc de base, c'est de checker tout le contenu provenant des utilisateurs que que tu repasse ensuite au navigateur. Perso, je fait
$machaineaafficher= 'Hello bande de nazes à l'ego hypertrophié';
$machaineaafficher= str_replace ('<', '<', $machaineaafficher);
Ce qui a pour effet de déscativer de l'éventuel code HTML/Javascript qu'un malicieux pourrait tenter d'intégrer sur le site. On peut faire la même chose avec la fonction htmlentities(), mais dans ce cas il faut d'abord déclarer la chaine comme encodée en UTF8 et ça j'ai toujours eu la flemme de checker comment on fait.
L'autre grosse faille classique c'est l'injection de code dans SQL qui est le langage d'intérogation des bases de données.
Par exemple imaginons que l'on veuille sélectionner tous les groupes dans la base qui s'appelle 'Toto Rules' on fera :
SELECT * FROM groupes WHERE groupe_name='Toto Rules'
Et donc, si on veut faire ça dynamiquement en passant à la place de 'Toto Rules' une chaine envoyée par l'utilisateur, il faudra bien faire gaffe à échapper les apostrophes selon la façon dont ça s'échappe en SQL. Sinon, il suffit d'ajouter une apostrophe pour fermer la chaine, un point virgule pour terminer la commande, et ensuite on peu passer une deuxième commande SQL malicieuse (genre, efface moi toute cette base de donnée).
je trouve ça bien, que des gens s'investissent comme ça dans le dèv. en fait toute la doc possible et imaginable dont une personne aurait besoin pour développer ses propres trucs est dispo en ligne. ça remplace pas bien sûr des échanges en vrai avec des personnes d'experience, qui sauront raconter des choses interessantes, mais disons potentiellement, tout est là, à portée de clic.
c'est une bonne façon de comprendre les choses, d'apprendre par soi-même, et de démystifier pas mal de termes obscurs (ce qui permet entre autres, ensuite, de moins se faire prendre pour une quiche face à certains discourts marketeux à la 2.0 / cloud machin...)
Enfin ça rejoins mon souhait de voir les gens gagner en indépendance sur le web. ne pas avoir à dépendre de CGU foireuses, c'est quand même sympa ^^
Question sécurité, j'emettrais tout de même un bémol. Les failles que tu raconte sont très vrai. C'est vraiment des choses indispensables à prendre en compte. Mais y'en a plein d'autres. Les hackers sont des furieux sont increvables de nouvelles techniques de piratage. Et un CMS utilisé et bien rependu, avec plein d'utilisateurs, ça fait un terrain d'expérimentation super vague. Pour peu que les développeurs soient un minimum à l'écoute des retours d'expérience, le CMS a de grande chances de combler ses failles au fur et à mesure qu'elles sont découvertes. Alors bien sûr ça oblige à suivre les mises à jours. Et c'est sans doute le plus chiant. Parce que pour peu que le CMS soit un peu adapté / modifié / personnalisé (...) et bien vas-y pour faire une mise à jour sans péter toutes les modifs.
C'est d'ailleurs sans doute ce qui c'est passé avec dogmazic. Le CMS (NPDS) utilisé au départ a tellement été trituré pour l'adapter à une plateforme de zic en ligne que les mises à jour devaient pratiquement être impossible à faire sans que ça pete tout.
Mais les CMS de nos jour ont de plus en plus tendance à prendre ça en compte et proposent en général des méthode de développement sous forme de plugins ou de modules (...) qui permettent de plus en plus de choses tout en permettant de suivre quand même les mises à jours. Mais là, le truc chiant du coup c'est qu'en plus du langage de programmation, pour développer les particularités, faut aussi se fader la doc du CMS pour coder les choses comme il s'attend qu'elles le seront, pour que les mises à jours puissent continuer à pouvoir se faire.
En résumer : se baser sur un CMS très utilisé, avec une équipe de dèv bien réactive, c'est un bon myen de se blinder contre les failles de sécurité. Mais ça impose une méthode de dèv qui peut des fois être super contraignante, pour faire en sorte que le "coeur" du CMS puisse continuer à être mis à jour sans tout casser.
bon
après, les CMS, c'est pas obligé non plus. Un autre point à faire gaffe dans la sécurité qui me vient à l'esprit, là, c'est l'upload. Si le site permet d'uploader des fichiers (des images ou des morceaux de musique par exemple) il faut bien faire gaffe au types de fichier acceptés et à comment ils sont remis à dispo ensuite.
genre
pour mon avatar, j'upload un fichier php et quand je l'ouvre ensuite dans un navigateur, je me retrouve avec un arsenal de méthodes pour faire plein de trucs sur le serveur, comme installer un serveur de jeu, un prog de spam, etc.
Mais faut non plus que ça décourage de faire du Php ^^
D'une manière générale, Php est très bien
Faut "juste" faire gaffe dès que les visiteurs ont la possibilité d'intervenir avec leurs données à eux.
'vous souhaite plein de bonne choses sur vos devs
jp
Pour Clewn je n'utilise juste pas de base de donnée, donc c'est à peut près aussi scalable que de transformer un chateau en carte à jouer en villa de grand luxe, mais ça simplifie l'archi, ce qui évite de se cogner deux jours de boulot à chaque MAJ de version de l'OS/la BDD/le serveur web.
(je plaisante pas avec ça, ma première expérience aboutie du dev web dynamique à titre perso a été Zircanews, qui est devenu plus tard l'entité bifide ZC Virtual Underground Art Gallery/ZC Virtual Netlabel, ce dernier ayant ensuite muté en SLCNC Music... Et bon, à la première MAJ de l'OS à l'époque de Zircanews, plus rien ne fonctionnait suite au changement de version de la BDD, du moteur de contenu dynamique web (Tomcat) et du serveur web, et bon ça m'a pris deux jours pour tout remettre en ordre, ce qui m'a, à l'époque, bien refroidi).
En pratique, toutes les infos des morceaux de musique sont stockées dans leurs tags, et toutes les infos textuelles actuellement gérées (messages des pages, commentaires de messages des pages, et aussi messages des communautés et aussi critiques&comms sur les morceaux) sont stockées via de la sérialisation de tableaux, en PHP. (sérialiser, ça veut juste dire transformer un objet de programmation en chaine de caractère qu'on peut, par exemple, enregistrer sur le disque).
Mais, ouep, JPH, il est possible de définir finement plusieurs roles qui ont chacun des droits différents quand à leur accès à la base. Sur n'importe quelle BDD un peu aboutie.
Et, ouep, dj3c1t, t'as mille fois raison, en cas d'upload de fichier, faut vraiment checker l'exttension, c'est tellement évident pour moi que je l'ai pas mentionné, mais si on laisse uploader sans vérifier que c'est le bon type de média, évidemment un malicieux pourra uploader du code exécutable sur le serveur à la place d'une image ou d'un son, et ensuite déclencher son éxécution simplement en appelant la ressource depuis son navigateur web.
c'est encore en java, du coup, SLCNC Music ?
sinon, jp_h, oui, à fond
faut donner à l'appli uniquement les droits dont elle a besoin
c'est une bonne approche
que ce soit sur la base de données
mais aussi sur le système de fichiers
et ça s'étend aussi aux droits donnés aux visiteurs d'éxecuter telle ou telle acttion sur le site en fonction de leur rôle (admin / membre / visiteur...)
ça, plus faire gaffe aux données fournies par les utilisateurs (vérifier qu'elles sont bien ce qu'elles sont sencé être, donc échaper les quotes dans les requètes SQL, vérifier les extensions des fichiers uploadés, faire gaffe aux balises HTML dans les textes fournis par les internaute, qui peuvent être ré-affichées...), et ça fait une bonne base pour réfléchir la sécurité.
Mais y'a vraiment des trucs tordus quand même, aussi
par exemple le register globals de php
y'a des serveurs où il est encore activé
sans déconner
bon
c'est pour ça que je dis que les CMS un peu populaires, ils ont tous plus ou moins à un moment été confrontés à ces difficultés et finissent en général par corriger les failles.
mais
faut pas trop psychoter non plus
les hackers sont pas forcément des gens qui veulent votre mort
ça fait partie des joies (?!) de la programmation web ^^
Du coup maintenant, pour le web, je code tout en PHP. Qui manque franchement d'un vrai coté objet pour son API,... D'ailleurs on dit même pas API, on dit bibliothèque de fonctions, ça veut tout dire, elle est complètement procédurale, mais PHP est fun à coder, y'a plein de petits trucs sympa, simplement le typage fort me manque un peu, c'est contraignant mais ça simplifie beaucoup le débogage.
en Java, rien que de passer la compilation, déjà, ça t'oblige à corriger des blèms AVANT que ton prog se mette à tourner ^^
C# pour Mono/DotNet est exactement le même à ce niveau, sauf que, grosse grosse différence, quand en Java un bout de code est susceptible de lancer une exception, le programmeur doit forcément la catcher, et donc gérer l'erreur s'il le souhaite. En C#, il faut aller voir dans la doc pour chaque fonction qui pourrait jeter un throwable, car ce n'est pas obligé de les catcher, et si on ne les catche pas ils continuent à remonter la pile des appels jusqu'à arriver en haut et faire planter l'appli.
Sinon, pour en revenir à Clewn, j'ai revus les priorité fichier par fichier pour les transfert de l'audio en cours, dans le but que chaque morceau soit intégralement transféré dans les trois formats avant que l'on passe au suivant. Ce qui aura pour effet de lisser et d'accélérer l'apparition des nouveaux morceaux sur le site. Grosso modo, il y a encore tout Still Living Creature à transférer depuis Slcnc Music, et ensuite ça attaque le transfert des morceaux Dogmazic. http://clewn.org devrait donc devenir beaucoup plus intéressant au cours des prochains jours, pour les auditeurs, et pour les artistes dogmazien-ne-s.
http://monpauvrelieu.pagesperso-orange.fr/i/0.png
En même temps, il n’y a personne d’autre que moi qui soit assez tordu pour rechercher celui-là.