Ce module permet de gérer des catalogues d'albums vidéo qui sont hébergées sur des sites tels que Youtube, Dailymotion, Google Videos, Yahoo Videos, Veoh, MSN (ou Bing) Videos, Vimeo, MySpace ou MetaCafe.
Il est également possible de gérer des vidéos localement aux formats mkv, divx, avi, mp4 en utilisant le plugin divx web player, ou aux format flv (JarisFLVPlayer), ogg (cortado applet), wmv (Silverlight VideoPlayer.xap ou Windows Media Player)...
HVA gère 3 niveaux: la catégorie, l'album vidéo et la vidéo elle-même et permet d'intégrer les vidéos une par une, dans des galeries fancybox ou awkward showcase (mode par défaut) ou dans des listes sur une page.
Avant de débuter, assurez-vous que les utilisateurs ont les permissions appropriés.
Si vous n'utilisez pas l'option de personnalisation des restrictions d'accès (voir les préférences), la
permission "HostedVideoAlbums: Normal user" sera suffisante pour le module. Dans l'onglet des préférences, vous
pouvez choisir quels onglets seront montrés aux utilisateurs normaux. Seul l'administrateur et les utilisateurs ayant la
permission "HostedVideoAlbums: Advanced" auront accès à l'onglet des préférences.
Si vous désirez définir des permissions spécifiques par niveau, activez l'option de restriction d'accés dans
l'onglet des préférences et donnez la permission "HostedVideoAlbums: Manage name_of_level" aux utilisateurs appropriés.
Pour utiliser ce module, vous allez devoir créer les 3 niveaux (c'est à dire catégorie, album et vidéo). D'abord, vous aller créer les catégories dans l'onglet "Catégories", puis créer les albums dans l'onglet "Albums Vidéos" et enfin, créer les vidéos elles-mêmes dans l'onglet "Vidéos".
Pour les catégories, il suffit de fournir le nom d'affichage, et optionnellement son alias (utilisé avec le
paramètre "alias" plus loin) et sa description.
Pour les albums, vous donnerez également un nom, un alias (optionnel), la catégorie à laquelle l'album se
rattache, une description (optionnelle), une langue (sous la forme fr ou en-US), et les largeur et hauteur par défaut des vidéos
de cet albums (utilisées lorsque la largeur ou la hauteur d'une vidéo ne sont pas fournies).
Pour les vidéos, vous devez donner un nom, un alias (optionnel), l'album auquel la vidéo est attachée, une description (optionelle), le site sur lequel la vidéo est hébergée, l'identifiant de la vidéo (voir plus loin) puis, optionnellement, la largeur et la hauteur de la vidéo (sinon, c'est la valeur par défaut de l'album qui est utilisée) et enfin une vignette utilisée en mode fancybox ou awkward showcase (voir les détails plus loin pour ce point).
Pour Youtube, l'id de vidéo est la dernière partie de l'url après "v=". Par
exemple, dans "http://www.youtube.com/watch?v=7SZtGvXkEIw", c'est "7SZtGvXkEIw".
Pour Dailymotion, l'id de vidéo est la dernière partie de l'url après le dernier "/". Par exemple, dans
"http://www.dailymotion.com/video/xcqa0g_cornershop-who-fingered-rock-n-roll_music", c'est "xcqa0g_cornershop-who-fingered-rock-n-roll_music".
Pour Yahoo videos, l'id de vidéo sont les deux derniers nombres de l'url après l'avant-dernier "/".
Par exemple, dans "http://video.yahoo.com/watch/7095687/18465878", c'est "7095687/18465878".
Pour Google videos, l'id de vidéo est la dernière partie de l'url après "docid=". Par exemple,
dans "http://video.google.com/videoplay?docid=7521423388637542657#", c'est "7521423388637542657#".
Pour Veoh, l'id de vidéo est la dernière partie de l'url après le dernier "/". Par exemple, dans
"http://www.veoh.com/browse/videos/category/music/watch/v555658setkP3D8", c'est "v555658setkP3D8".
Pour MSN ou Bing Videos, utilisez "msn video" et chercher dans le code d'intégration la chaîne "player.v=...",
l'id de la video est la chaîne hexa après "player.v". Par exemple, dans "player.v=fcc409a0-a8b0-4243-83b2-ff4a5eb3a86e",
l'id est "fcc409a0-a8b0-4243-83b2-ff4a5eb3a86e".
Pour metacafe, c'est la partie numérique à la fin de l'url. Par exemple, dans
"http://www.metacafe.com/watch/4474839/pasta_013/", c'est 4474839.
Pour MySpace, c'est la partie après "videoid=" dans l'url. Par exemple, dans
"http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=104317949", c'est 104317949.
Pour Vimeo, c'est la dernière partie de l'url. Par exemple, dans "http://vimeo.com/10875088", c'est 10875088.
Pour insérer une vidéo hébergée sur votre site, choisissez le type "local.XXX" en fonction du type de vidéo:
ATTENTION: La racine des vidéos locales a changé depuis la version 2.0.1. Vous devez resaisir les chemins de toutes vos vidéos locales.
L'id de vidéo est le nom complet du fichier depuis la racine du site. Vous pouvez utiliser la fenêtre de choix de fichier pour sélectionner la vidéo. Si vos paramètres d'upload sont suffisants, vous pouvez même uploader la vidéo directement depuis cette fenêtre. La fenêtre de choix s'ouvre sur le répertoire paramétré dans les préférences (cadre Préférences vidéo) (normalement /uploads/videos). Vous pouvez organiser vos vidéos par sous répertoires (par exemple un répertoire par album).
La largeur et la hauteur des vidéos peuvent généralement être trouvés dans le code d'intégration ("embed") des sites vidéo. Pour chacun de ces sites, soit directement dans la page ou en cliquant sur un lien dans la page (Youtube & Google Videos ) ou en cliquant sur le bouton Exporter dans la vidéo (Dailymotion), un bout de code HTML contenant une largeur et une hauteur vous sera fourni.
Pour la plupart des vidéos hébergées, HVA est capable d'extraire automatiquement l'image miniature de la vidéo.
C'est le cas pour YouTube, Dailymotion, Yahoo, Google Video, Vimeo, Veoh, Metacafe et Myspace. Vous n'avez donc pas besoin de
fournir un aperçu de ces vidéos.
Ce n'est pas le cas pour les vidéos MSN (si quelqu'un peut me dire comment faire cela, il est le bienvenu) et pour toutes les
vidéos locales. Pour chacune d'elles, vous devez fournir un aperçu (si non, une vignette par défaut sera fournie).
Pour fournir un aperçu, lors de la saisie des paramètres vidéo, cliquez sur l'icône répertoire près
du champ de saisie de la vignette, puis soit choisir une image existante ou soit en télécharger une à partir de
votre disque local. L'image sera automatiquement redimensionnée aux dimensions donnés dans les préférences
(cadre Préférences Vidéos). Vous pouvez organiser vos images par sous répertoires (par exemple un
répertoire par album). Le répertoire par défaut où sont stockées les vignettes est également
fourni dans les préférences vidéos (d'habitude /upload/images/HVAThumbs).
Pour appeler le module, il suffit d'utiliser la balise suivante:
{HostedVideoAlbums what="<level>"}
Si vous omettez ce paramètre, toute la liste des vidéos sera affichée. Cela équivaut à:
{HostedVideoAlbums what="video"}
{HostedVideoAlbums what="category"}
affichera la liste des catégories.
{HostedVideoAlbums what="album"}
affichera la liste des albums, quelque soit leur catégorie.
Vous pouvez aussi demander des éléments qui appartiennent à un parent spécifique:
{HostedVideoAlbums parent="alias_du_parent"}Vous pouvez finalement demander un élément spécifique avec:
{HostedVideoAlbums alias="alias_de_l_element"}
Vous devez créer une catégorie par défaut de toute façon. Nommez la par exemple «par défaut»
puis créez tous vos albums dans cette catégorie et utilisez
(cms_module module="HostedVideoAlbums"what="alum")pour afficher tous les albums.
{HostedVideoAlbums what= "video"}
Vous pouvez limiter le nombre d'éléments devant être affichés sur une même page:
{"HostedVideoAlbums" nbperpage="5"}Des classes ont été assignées aux éléments du menu de page pour que vous puissez le personnaliser.
Il est très simple d'ajouter un nouveau site d'hébergement!
Tout d'abord, vous devez jeter un oeil sur le code «d'incrustation» de ce site et essayer de repérer la forme de l'ID de vidéo et où il doit être inséré dans le paramètre "movie" (url du code d'embedding). Ensuite, il suffit d'ajouter le nom du nouveau site dans l'onglet "sites", puis de modifier le gabarit EmbedVideo pour y ajouter juste avant la ligne du {/if}, quelques lignes de la forme:
(ATTENTION: Ne pas modifier directement le gabarit EmbedVideo, faire une copie car cela pourrait être écrasé par la prochaine version du module)
{elseif $item->site_namevalue=="<le nom du nouveau site>"}
{assign var="movie"
value="<début de l'url>`$item->videoid`<fin de l'url>"}
Inspirez vous des autres cas...
Si vous ne faites rien concernant les vignettes des nouveaux types de vidéos ou sites, il vous suffira de fournir les vignettes manuellement.
Il peut être considérablement plus complexe de prendre en compte automatiquement les vignettes pour les sites de vidéos hébergées. Pour cela, il faut modifier (une copie du) gabarit Fancy box et ajouter des lignes de la forme (exemple vimeo)
{elseif $item->site_namevalue=="vimeo"}
{$aswf}"http://vimeo.com/moogaloop.swf?clip_id={$item->videoid}&server=vimeo.com&show_title=true&show_byline=1&color={$item->color1}&fullscreen={$item->fullscreen_int}">
{$img}{php}
$item= $this->get_template_vars('item');
$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/".$item->videoid.".php"));
$url = $hash[0]['thumbnail_small']; echo "'$url'";
{/php}>
La façon de déduire automatiquement l'url de la vignette est différent pour chaque site et vous devrez enquêter pour trouver comment faire...
Ce sont des actions spéciales, que vous pouvez utiliser dans la déclaration de module pour créer des sitemap, des breadcrumbs et ainsi de suite ...
Pour imbriquer une vidéo à l'intérieur d'un gabarit HVA, vous pouvez utiliser l'action "embedvideo":
{HostedVideoAlbums action="embedvideo" item=$item}Vous pouvez utiliser l'action "link" pour créer un lien vers l'action par défaut, avec les mêmes paramètres:
{HostedVideoAlbums action="link" what="video" random="1"}Vous pouvez utiliser l'action "sitemap" pour créer un sitemap du module:
{HostedVideoAlbums action="sitemap"}Cela va vous aider à inclure vos albums vidéos à un google sitemap, uniquement si les éléments sont affichés sur la même page.
*** Si vous utilisez le module générateur google sitemap ***
Ouvrez votre générateur de sitemap (gsitemap.php), et juste avant la fermeture de l'urlset (echo ' </urlset>'. "\\n";),
ajoutez le code suivant:
$modulename = "HostedVideoAlbums";
if( isset($gCms->modules[$modulename]) && $gCms->modules[$modulename]["active"] && $themodule = $gCms->modules[$modulename]["object"]){
$params = array("mode"=>"google");
$themodule->DoAction("sitemap", "", $params);
}
Bien sur, entrez un detailpage que ce soit un id ou un alias.
Notez que vous pouvez aussi utiliser le paramètre "what" pour spécifier quel(s) niveau(x) vous voulez voir affiché(s) (vous pouvez spécifier plusieurs niveaux avec "niveau1|niveau2" etc).
*** Si vous utilisez le module SiteMap Made Simple ***
Mettez simplement le code ci dessus dans un UDT (user-defined-tag), et appelez cet UDT à la fin de votre gabarit de sitemap, juste avant </urlset>.
Vous pouvez utiliser l'action "search" pour afficher un formulaire de recherche:
{HostedVideoAlbums action="search" what="video"}Ce module a été d'abord créé avec CTLModuleMaker puis modifié manuellement. Il est fourni sous
licence GPL.
Les paramètres pour les sites Vimeo, MetaCafe et MySpace sont inspirés du module webvideos.
JARIS flash player (Site: http://jaris.sourceforge.net/,
Project Page: https://sourceforge.net/projects/jaris/)
Cortado applet (http://www.theora.org/cortado/)
Fancybox (http://fancybox.net)
Awkward showcase (http://www.awkwardgroup.com/)