Carnet Wiki

SPIP3 & flv

Version 2 — Février 2015 manuguillemont

… Ou comment gérer le conflit entre les plugins «  VIDEO ACCESSIBLE » et «  VIDEOS » lorsque des vidéos "youtube & C°" cohabitent avec des vidéos flv

Pour lire des fichiers flv, SPIP 2 dispose du plugin LECTEUR MULTIMEDIA qui sait lire les fichiers flv joints à un article et insérés via le modèle <docXX|player…>. De son côté, le plugin VIDÉOS propose une solution simple pour prendre en charge les vidéos youtube&C° insérées via le modèle <videoXX|…>

Un passage à SPIP 3 sur ces bases engendre des difficultés car il rompt la compatibilité, le lecteur multimédia ne prenant plus en charge les fonctions vidéos. Il faut alors se tourner vers MEDIASPIP ou VIDEO ACCESSIBLE.

Solution 1 : MEDIASPIP. MEDIASPIP n’utilise pas <docXX|player…> mais <embXX|…> Grrr… il faut donc reprendre les articles pour modifier la syntaxe d’appel, ce qui peut être vite fastidieux si il y a beaucoup d’articles

Solution 2 : VIDEO ACCESSIBLE. VIDEO ACCESSIBLE comprend les raccourcis <docXX|player…>. On se dit que c’est donc parfait dans le meilleur des mondes sauf qu’il prend la main sur les raccourcis <videoXX|…> qu’utilise de son côté le plugin VIDÉO !

On tourne en rond et on se retrouve coincés !

Une solution : DÉTOURNER LE MODÈLE VIDÉO Alexandre Catonné a mis en place un contournement simple et astucieux en détournant la fonction initiale du modèle vidéo pour le transformer en aiguillage vers les vidéos youtube&C°, d’une pat, ou vers les vidéos flv, d’autre part

[(#REM)
arbitrage/aiguillage entre les deux modeles videos de deux plugins video
flv => plugin mediaspip_player ==> copié en modele video_mediaspip_player.html
youtube/dailymoton => plugin videos_3 => copié en video_videos_3.html
(les ai dupliqué pour eviter conflit entre les deux /modeles/videos.html
]


<BOUCLE_tous(DOCUMENTS){id_document=#ID}{tout}>
[(#EXTENSION|in_array{#ARRAY{0,dist_daily,1,dist_youtu,2,dist_vimeo}}|oui) 
[(#MODELE{video_videos_3,largeur=#ENV{largeur},hauteur=#ENV{hauteur},env})] ]


[(#EXTENSION|in_array{#ARRAY{0,dist_daily,1,dist_youtu,2,dist_vimeo}}|non) 
[(#MODELE{video_mediaspip_player,largeur=#ENV{largeur},hauteur=#ENV{hauteur},env})] ]
</BOUCLE_tous>

Voir le fil de discussion