[SPIP Zone] ACS, Lecteur multimedia, débat avec Booz, convergences ?

Le Monday 07 July 2008 01:43:20 BoOz, vous avez écrit :

webmaster-SmY8PKqfSOymUgr6GzUhTg@public.gmane.org a écrit :

Connexion · GitLab

Hello,

Ca à l'air d'être un gros boulot que tu nous abat la, bravo.

Je crois comprendre que dans le lot de fonctionnalités que propose ton
plugin, tu reprends des choses existantes par ailleurs (agenda, lecteur
multimedia,...), en les améliorant.

Je cite (^^) :

« Par contre, il existe des plugins dont l'usage conjoint avec ACS n'a
guere d'intéret, parce qu'ils doublonnent des fonctions intégrées a ACS
ou aux composants ACS du modèle standard ("Cat"). C'est le cas du plugin
multimedia (ACS a son lecteur vidéo et sa playliste mp3 intégrés).»

Je m'interroge, puisque je m'occupe du lecteur multimedia, de savoir si
ca ne serait pas plus pertinant / efficace de ne garder qu'un plugin
lecteur multimedia, que ACS irait appeler.

La on va devoir maintenir en parallèle deux plugins identiques, sans
profiter vraiment d'un dev en commun plus efficace.

BoOz

Le plugin ACS ( http://acs.geomaticien.org ) a pour objet premier de permettre
de configurer directement un site (donc des squelettes) par un "clickodrôme"
de l'interface d'administration. Pour d'évidentes raisons de sécurité, ce
plugin a dû intégrer un nouveau système de gestion des droits d'accès à la
partie privée, assez performant et polyvalent, qui peut avoir bien d'autres
usages (certains sites tests utilisent ACS uniquement pour cette gestion des
droits avancées qui ne ralentit pas le site comme le plugin "acces
restreint"). Et il s'est avéré pratique d'y ajouter un "navigateur de
squelettes" avec un analyseur/coloriseur de code source Spip, qui permettra à
terme l'édition des squelettes par le web (avec ou sans intégretion du plugin
skel-editor, à étudier).

Pour permettre la configuration "par clickodrôme", les différents composants
d'un squelette doivent posséder des variables. C'est facile en override d'un
plugin lorsque la personnalisation porte uniquement sur les CSS, mais c'est
plus difficile lorsque les composants intègrent du Flash à la façon du plugin
multimedia.
Deuxièmement, l'un des lecteurs du plugin multimedia, le pixplayer, va parfois
se connecter subrepticement à un site qui d'ailleurs semble ne plus exister
(découvert en travaillant en local sans connection).
Enfin, je voulais un lecteur mp3 entièrement "skinnable" et reposant sur une
partie Flash minimaliste n'ayant AUCUNE influence sur le graphisme.

Ayant naguère trouvé plein d'astuces utiles dans le plugin multimedia (bravo à
ses développeurs !), j'ai d'abord cherché à l'intégrer, avant de préférer
aller jusqu'au bout de l'approche par composants d'ACS, finalement plus
facile à implémenter proprement.

Le résultat, c'est un lecteur mp3 insérable dans un article exactement comme
le plugin multimedia (comaptibilité des articles publiés), plus une playlist
mp3 entièrement skinnable utilisée sous forme de "composant ACS".

Etudier une convergence plutôt que de voir se multiplier les plugins à peu
près équifonctionnels est toujours une bonne idée, pour les raisons évoquées
par Booz. Dans ce cas, celà nécessiterait toutefois une nouvelle version
majeure du plugin multimedia, intégrant les variables configurables par
interface web. Pour avoir déjà réalisé cet exercice de style sur le plugin
multimedia (en simple override), je sais qu'il faudrait alors faire évoluer
assez fortement le plugin multimedia actuel. De plus, la différence
d'approche rend l'existence de 4 players mp3 à peu près inutile, puisque le
seul player mp3 d'ACS est entièrement "skinnable".

De toute façon, l'utilisateur final a le choix, et peut intégrer le multimédia
avec les composants natifs d'ACS (en les activant) ou en ajoutant à ses
squelettes les éléments du plugin lecteur_multimedia ou d'autres plugins
(sans activer les composants multimedia d'ACS).

ACS comprend 4 composants multimédias indépendants: le lecteur mp3, le lecteur
flv, une playlist mp3 (qui dépend du lecteur), et une playliste video (qui ne
dépend pas du lecteur video): "Repimages".

Maintenant, si quelqu'un propose une contrib mixant proprement les deux
approches, banco ! Si je peux y contribuer, je le ferais.

--
Daniel FAIVRE
Expert en géomatique

Daniel FAIVRE a écrit :

Ce que tu décris sur la "skinabilité" des playlistes et les fonctions audios qui s'implementent avec html et css est exactement le but rechrché par le plugin lecteur multimedia (et ca marche déjà en fait comme ca) grace aux librairies js/flash soundmanager2 et flv-player.

Les autres players flash "habituels" sont toutefois également proposés en option pour répondre à la demande (les gens qui débutent veulent un player en flash à l'ancienne comme ils ont vu ailleurs).

Etudier une convergence plutôt que de voir se multiplier les plugins à peu près équifonctionnels est toujours une bonne idée, pour les raisons évoquées par Booz. Dans ce cas, celà nécessiterait toutefois une nouvelle version majeure du plugin multimedia, intégrant les variables configurables par interface web.

Oui, j'ai regardé rapidement tes modifications du code du lecteur multimedia et je crois qu'elles vont dans le bon sens (pou la partie js au moins, le reste à l'air plus brut de décoffrage).

De toute façon, l'utilisateur final a le choix, et peut intégrer le multimédia avec les composants natifs d'ACS (en les activant) ou en ajoutant à ses squelettes les éléments du plugin lecteur_multimedia ou d'autres plugins (sans activer les composants multimedia d'ACS).

oui, je crois que le besoin général c'est une libraire de fonctions audio / video qui servira pour tous les usages dans spip.

Le plugin lecteur multimedia evolue régulierement dans ce sens générique, et ca serait top que tu puisses nous aider à aller plus vite : il y a en effet pas mal de modifs sur le feu encore avant d'arriver au bout.

BoOz

Hello,
tu as des données précises, des arguments techniques ou ce sont juste des allégations ?
a moins que tu ne confondes avec le plugin accès restreint par groupe ?

Sans troller je suis intéressé par l'aspect technique des choses...
Cédric
Le 8 juil. 08 à 17:28, Daniel FAIVRE a écrit :

(certains sites tests utilisent ACS uniquement pour cette gestion des
droits avancées qui ne ralentit pas le site comme le plugin "acces
restreint").

Le Tuesday 08 July 2008 20:57:26 cedric.morin@yterium.com, vous avez écrit :

Hello,
tu as des données précises, des arguments techniques ou ce sont juste
des allégations ?
a moins que tu ne confondes avec le plugin accès restreint par groupe ?

Sans troller je suis intéressé par l'aspect technique des choses...
Cédric

Le 8 juil. 08 à 17:28, Daniel FAIVRE a écrit :
> (certains sites tests utilisent ACS uniquement pour cette gestion des
> droits avancées qui ne ralentit pas le site comme le plugin "acces
> restreint").

Oups voui, je voulais parler du plugin "accès restreint par groupe", celui
dont Fil disait lui aussi "qu'il fait tomber n'importe quel serveur de son
rack" :wink:

--
Daniel FAIVRE

Oups voui, je voulais parler du plugin "accès restreint par groupe", celui
dont Fil disait lui aussi "qu'il fait tomber n'importe quel serveur de son
rack" :wink:

Non je parle bien de l'accès restreint tout seul, et il ne s'agissait
pas de n'importe quel serveur :wink:

Pour être clair ce plugin établit la liste des id_article interdits
(1,2,3,4,5...........) la colle dans toutes les requêtes. Si cette
liste est trop grosse on explose le serveur. D'autres solutions sont
sans doute possibles (faire une vue par exemple, ou une jointure),
mais là je ne fais qu'en parler...

-- Fil

Daniel FAIVRE <webmaster@geomaticien.com> a écrit :

Côté js, j'ai voulu un truc qui gère le "soft-downgrade", du JS non intrusif.
En particulier, la playliste va chercher automatiquement les "enclosures"
contenues dans son parent (au sens DOM) et dans son parent uniquement, pas
dans tout le document. Ce mode de fonctionnement est-il imaginable pour les
playlistes mp3 du plugin Lecteur_multimedia ?

Oui, tout à fait, c'est une excellente idée. Je crois d'ailleurs que
pour etre vraiment nikel on pourrait se baser pour ca sur les "class"
du micro-format haudio.

Regarde ca : hAudio 0.9.1 - Microformats Wiki

Enfin, comment voit tu une interface d'admin ACS pour le look de ce plugin ?
Comme je te l'ai dit, je l'avais écrite pour le plugin Lecteur_multimedia,
avant de finalement préférer "splitter" en 4 composants plus simples, 2
lecteurs, et deux playliste, audio, et video.

Je crois que l'on peut facilement parametrer le plugin depuis ton truc
acs ou depuis une page cfg propre au plugin, ce n'est pas genant
d'avoir les deux. Je crois aussi que ton idee de separer les fonctions
est bonne, mais je n'ai aps compris en quoi tu as plus séparé que dans
le plugin original qui propose deja des modeles et des skin pour les
playlist.

Pour le plugin lecteur multimedia il faudrait prevoir :

1) du menage dans les repertoires, notamment deplacer les fichiers de
la racine dans des rep
2) revoir le js en integrant tes modifs et en separant le fichier
player_enclosures.js en plusieurs.
--- les fonctions audio play/stop etc
--- les fonction videos play stop etc
--- les fonctions d'init et jquery sur le dom
3) proposer un systeme de skins plus simple ? par repertoires de skin ?

BoOz

ps : attention de ne pas oublier la liste dans tes mails, je reposte
ton message complet ci-dessous

Le 8 juillet 2008 22:13, Daniel FAIVRE <webmaster@geomaticien.com> a écrit :

Comme toi, je pense qu'une libraire générale audio/video incluse dans spip
serait une bonne chose. Pour être d'usage général, une telle librairie doit
rester indépendante de la présentation visuelle, et rendre générique
seulement le fonctionnel. A la rigueur, des exemples sur le principe du
squelette "dist" de Spip peuvent servir de bases.

Est-ce qu'éventuellement il serait envisageable de modifier les définition de
paramètres "en dur" dans le plugin multimedia par des
#CONFIG{acsLacteur_multimediaMaVariable,ma_valeur_par_defaut_en_dur} ?
(c'est de loin le plus simple pour "merger" les deux approches, et ça ne
change pas le fonctionnement quand ACS n'est pas installé)

A défaut, peut-on imaginer d'overider juste le modèle doc_player pour
implémenter une variante configurable par le web dans ACS ? Dans ce cas,
quelles parties stables sont à privilégier pour y implémenter les variables
acs ? As-tu testé les 4 composants multimedia ACS sur un site de dev local
spip 1.9.2d avec des données, dont des mp3 insérés en documents dans des
articles en nombre assez grand pour avoir playlist avec pagination ?
Si oui, tu aura surement un point de vue des plus utile sur la meilleure façon
d'intégrer, et ça m'intéresse ! :wink:

Côté js, j'ai voulu un truc qui gère le "soft-downgrade", du JS non intrusif.
En particulier, la playliste va chercher automatiquement les "enclosures"
contenues dans son parent (au sens DOM) et dans son parent uniquement, pas
dans tout le document. Ce mode de fonctionnement est-il imaginable pour les
playlistes mp3 du plugin Lecteur_multimedia ?

Enfin, comment voit tu une interface d'admin ACS pour le look de ce plugin ?
Comme je te l'ai dit, je l'avais écrite pour le plugin Lecteur_multimedia,
avant de finalement préférer "splitter" en 4 composants plus simples, 2
lecteurs, et deux playliste, audio, et video. Cette approche granulaire
présente pas mal d'avantages, en fait: possibilité de n'activer que le
nécessaire, et simplicité plus grande des interfaces de configuration dans
ACS: une fonction = un composant , c'est toujours plus simple.
L'interface d'admin d'un "composant ACS configuration du Lecteur_multimedia"
était en fait bien lourde visuellement (trop de variables à configurer).

Mais on peut sûrement garder cette présentation en composants séparés tout en
utilisant un autre plugin pour les fonctions sous-jacentes.

En gros, pour aider à faire évoluer le plugin multimedia tout en l'intégrant à
ACS à la place de ses 4 composants multimedia, je ne sais pas trop ce que je
peux proposer comme évolution au plugin Lecteur_multimedia. Tu peux
m'éclairer sur ce point ? Sur votre roadmap pour ce plugin ? Sur les "points
durs" fonctionnels issus de versions antérieures qui ne peuvent être remis en
cause ?
Bref: on fait comment ? :wink:

Amicalement,

--
Daniel FAIVRE

Le Tuesday 08 July 2008 20:45:53, vous avez écrit :

Daniel FAIVRE a écrit :

Ce que tu décris sur la "skinabilité" des playlistes et les fonctions
audios qui s'implementent avec html et css est exactement le but
rechrché par le plugin lecteur multimedia (et ca marche déjà en fait
comme ca) grace aux librairies js/flash soundmanager2 et flv-player.

Les autres players flash "habituels" sont toutefois également proposés
en option pour répondre à la demande (les gens qui débutent veulent un
player en flash à l'ancienne comme ils ont vu ailleurs).

> Etudier une convergence plutôt que de voir se multiplier les plugins à
> peu près équifonctionnels est toujours une bonne idée, pour les raisons
> évoquées par Booz. Dans ce cas, celà nécessiterait toutefois une nouvelle
> version majeure du plugin multimedia, intégrant les variables
> configurables par interface web.

Oui, j'ai regardé rapidement tes modifications du code du lecteur
multimedia et je crois qu'elles vont dans le bon sens (pou la partie js
au moins, le reste à l'air plus brut de décoffrage).

> De toute façon, l'utilisateur final a le choix, et peut intégrer le
> multimédia avec les composants natifs d'ACS (en les activant) ou en
> ajoutant à ses squelettes les éléments du plugin lecteur_multimedia ou
> d'autres plugins (sans activer les composants multimedia d'ACS).

oui, je crois que le besoin général c'est une libraire de fonctions
audio / video qui servira pour tous les usages dans spip.

Le plugin lecteur multimedia evolue régulierement dans ce sens
générique, et ca serait top que tu puisses nous aider à aller plus vite

: il y a en effet pas mal de modifs sur le feu encore avant d'arriver au

bout.

BoOz

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone