...
N'hésitez pas à explorer cette interface pour y découvrir toutes les possibilités.
Nous Je vous conseille conseillons de restreindre l'accès à "/rest" de votre instance via votre configuration nginx.
location /rest {
allow XXX.XXX.X.X/24;
deny all;
}
2) Terminal
Pour gérer les données de votre instance de Pod en ligne de commande, voici les différentes étapes à suivre :
...
Enfin, il est également possible de poster (sans lancer l'encodage) des vidéos en ligne de commande. Voici un exemple :
curl -H "Content-Type: multipart/form-data" \
-H 'Authorization: Token XXXXXXXXXXX71922e47ed412eabcbd241XXXXXXX' \
-F "owner=http(s)://pod.univ.fr/rest/users/1/" \
-F "type=http(s)://pod.univ.fr/rest/types/1/" \
-F "title=ma video" \
-F "video=@/Users/test/video.mp4" \
http(s)://pod.univ.fr/rest/videos/
En cas de succès, cette commande renvoie toutes les informations disponibles liées a cette vidéo. Si vous souhaitez lancer l'encodage de cette dernière, vous pouvez utiliser l'information "slug" ou titre-court (généré automatiquement lors de la création) en paramètre dans une deuxième commande. Exemple :
curl -XGET -H "Content-Type: application/json" \
-H 'Authorization: Token XXXXXXXXXXX71922e47ed412eabcbd241XXXXXXX' \
"http(s)://pod.univ.fr/rest/launch_encode_view/?slug=id-ma-video"
Attention, pour les relations entre objet, il faut préciser l'url plutôt que la clé primaire :
The HyperlinkedModelSerializer class is similar to the ModelSerializer class except that it uses hyperlinks to represent relationships, rather than primary keys. By default the serializer will include a url field instead of a primary key field.
Ceci pourrait être modifié dans les futures versions de Pod.
Gestion des diffuseurs en ligne de commande :
Récupération de la liste des diffuseurs :
curl -H "Content-Type: application/json" \
-H 'Authorization: Token XXXXXXXXXXX71922e47ed412eabcbd241XXXXXXX' \
-F "slug=id-ma-video" \
http(s)://pod.univ.fr/rest/broadcasters/
la réponse du serveur sera de cette forme :
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 5,
"url": "https://pod.univ.fr/my_streamer/playlist.m3u8",
"name": "Nom de mon Diffuseur",
"slug": "nom-de-mon-diffuseur",
"building": "https://pod.univ.fr/rest/buildings/3/",
"description": "",
"poster": null,
"status": true
}
]
}
Vous trouverez ci-dessous un exemple de mise à jour du paramètre "status" d'un diffuseur. En utilisant la réponse précédente, on peut donc exécuter la commande suivante :
curl --location --request PATCH 'https://pod.univ.fr/rest/broadcasters/nom-de-mon-diffuseur/' \
--header 'Authorization: Token XXXXXXXXXXX71922e47ed412eabcbd241XXXXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{"status" : true}'
3) DublinCore
Enfin, pour avoir la représentation au format DublinCore de vos vidéos, il suffit de faire une requete curl sur /rest/dublincore
...
Par exemple, pour avoir la représentation DublinCore des vidéos de l'utilisateur 1, vous pouvez executer exécuter la commande suivante :
curl -H "Content-Type: application/json" -H 'Authorization: Token XXXXXXXXXXX71922e47ed412eabcbd241XXXXXXX' -X GET http(s)://pod.univ.fr/rest/dublincore/?owner=1
Ceci vous renverra un XML au format DublinCore.
Attention a bien renseigner les variables DEFAULT_DC_COVERAGE et DEFAULT_DC_RIGHTS dans votre fichier de configuration.