Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | Prochaine révisionLes deux révisions suivantes |
txs:peertube-a18:issue_946 [2019/01/12 17:22] – clement.brizard | txs:peertube-a18:issue_946 [2019/01/12 17:30] – clement.brizard |
---|
Afin de mieux intégrer notre nouvelle variable, ''originallyPublishedAt'', nous avons développe deux fonctionnalités annexes. | Afin de mieux intégrer notre nouvelle variable, ''originallyPublishedAt'', nous avons développe deux fonctionnalités annexes. |
| |
==== Recherche par année de publication originale ==== | * [[txs:peertube-a18:issue_recherche|Recherche par année de publication originale]] |
Nous avons ajouté un filtre à ceux déjà existants. Des modifications côté client et côté serveur ont été requises. L'année est rentrée par l'utilisateur, puis envoyée sous forme de ''string'' au serveur. Celui-ci construit d'abord un objet ''Date'' à partir de cette année, puis le transforme en ''ISOString''. Enfin, cette ''ISOString'' est ajoutée à un objet qui sera utilisé par Sequelize pour faire une requête à la base de données qui renverra les bonnes vidéos. | * [[txs:peertube-a18:issue_import|Import de la date de publication originale depuis YouTube]] |
Démo : | |
| |
{{ :txs:peertube-a18:screencast_recherche_small.webm?853x480 }} | |
| |
==== Import de la date de publication originale depuis YouTube ==== | |
Il est possible d'importer des vidéos depuis YouTube de deux manières: depuis l'interface web, ou en CLI. La modification qui a été faite ne touche que l'interface web. | |
Pour ce cas, PeerTube utilise une [[ https://github.com/przemyslawpluta/node-youtube-dl | adaptation pour Node.js ]] de [[https://rg3.github.io/youtube-dl/ | youtube-dl]] (un utilitaire en ligne de commandes assez connu et complet) | |
Cette adaptation contient une méthode ''getInfo'', qui retourne un objet JSON avec les métadonnées de la vidéo. Parmi ces métadonnées, celle qui nous intéresse est ''upload_date''. Les modifications qui ont été faites ne touchent que le côté serveur, et consistent à //parser// cette valeur, puis la transformer en ''Date'', et enfin en ''ISOString'' avant de l'envoyer au client. | |