Aujourd'hui un petit tuto rapide que je fait tourner sous linux. Je n'ai pas testé sur MacOS mais je ne vois pas pourquoi ca marcherait pas.

Constat : votre freebox est engorgée d'enregistrements, vous n'avez pas le temps de tout regarder et vous aimeriez copier vos enregistrements (en shell, ligne de commande) sur un disque dur (externe) rattaché à votre Linux. Il y a deux étapes à suivre :

  1. Créer un point de montage sur votre PC :
    - Créer un dossier dans votre home (je l'appelle ici Freebox)
    - Ce dossier sera votre point de montage de votre freebox. Pour ceci, affectez-lui la box : curlftpfs mafreebox.freebox.fr ~/Freebox
  2. Vous pouvez lancer le déplacement de fichiers
    mv -v ~/Freebox/Disque\ dur/Enregistrements/Arte*concert* /media/sebastien/VIDEO_8/

Notez juste que l'option -v est pour rendre verbeux le traitement, afin de savoir où en est le traitement.

samedi, 20 juin 2020 18:30

Restons à l'heure des API tik-tok

Écrit par

Souhaitant rester "jeune" dans ma tête, je suis allé aujourd'hui faire un petit tour du côté de Tik Tok. Je ne vous présente pas ce service car moi-même je n'ai pas tout compris. A priori il vous permet de mettre en ligne des vidéos courtes, que vous pouvez retoucher de ce que j'ai vu, Mais n'ayant pas tout compris je ne voudrais pas raconter n'importe quoi.

En revanche, vous me connaissez, je suis allé faire un tour du côté des API de Tik-Tok. J'ai souhaité regarder ce que le service proposait. Et il n'y a pas pléthore en matière d'API !
Ce service vous propose la possibilité d'interroger, à partir de l'URL d'une vidéo que vous avez déjà posté sur Tik Tok, le service afin d'en obtenir un ensemble de données, dont un code html vous permettant de réintégrer votre vidéo sur un site web, et quelques autres informations que nous allons voir.
Je tiens aussi à souligner que, pour obtenir ces informations, vous n'avez pas besoin de vous authentifier. Cela signifie que n'importe quelle vidéo hébergée sur Tik-Tok, vous pouvez en extraire ou en récupérer tout ce qu'il faut pour l'importer sur une page web. Et dans le "tout ce qu'il faut", j'entends par là le type du média, le titre, l'URL de l'auteur, la taille en pourcentage, la taille et l'URL de la miniature, le code HTML bien entendu pour l'intégrer sur une page web, ainsi que les deux informations sur hébergeur de cette vidéo c'est-à-dire le service tiktok lui-même.
Pour obtenir l'ensemble de ces informations, vous n'avez qu'à concaténer votre URL de votre vidéo, à l'appel oembed suivant :
 
 
Le service vous retournera un Json avec toutes les informations nécessaires, qu'il vous suffira à parser pour en extraire les informations qui vous intéressent particulièrement.
Dernière modification le samedi, 20 juin 2020 20:08
dimanche, 14 juin 2020 11:24

Une freebox, mplayer et un peu de fun

Écrit par

J'ai découvert, enfin en cherchant un peu quand même, comment les heureux possesseurs d'une freebox peuvent acceder à la TV (attention, justes aux chaines du multiposte évidement, donc sans TF1, M6...) ... en ligne de commande sous linux. C'est vraiment pous se marrer !

Il nous faut mplayer, le player "associé" à FFMPEG (ça y est, on me resitue ?)

La commande est simple : on lance mplayer et mettant en paramètre la liste de lecture : http://mafreebox.freebox.fr/freeboxtv/playlist.m3u

La commande devient :  mplayer -playlist http://mafreebox.freebox.fr/freeboxtv/playlist.m3

Il faut juste savoir que pour naviguer dans les chaines, il faut utiliser > et <. Pour toutes les autres options, la documentation Ubuntu explique les autres paramètres

Et la, je peux vraiment le dire : have fun !

Ou la la, non non non non non ne partez pas ! Ce que je vais écrire ici correspond bien au titre de mon article. Alors un peu de folie et on y va.
Généralement, un flux RSS contient un ensemble d'articles souvent hétérogènes en fonction de l'auteur du fil. Par exemple, si nous prenons un flux du Magazine informatique clubic.com,  avec son fil RSS www.clubic.com/feed/news.rss, vous vous rendrez compte que dans ce long fil RSS, l'auteur y integre une grosse partie des derniers articles du magazine.
Alors pour les geeks, qui ont le temps de tout lire, cela peut-être intéressant. Mais pas pour moi ! Une bonne idée serait de pouvoir sélectionner au sein de ce flux RSS, des thématiques sur des mots-clés qui m'intéressent.
Pour effectuer ce tri, je vais utiliser mon adresse Gmail,
Dans un premier temps, je vais  m'abonner via l'excellent Blogtrottr, à l'envoi par mail de chaque article du fil RSS dans une boîte aux lettres Gmail. Je vais donc recevoir tous les articles du flux du site Clubic
Selection de la fréquence de reception des mails
Dans un deuxième temps, à l'aide des règles de messagerie de Gmail, je vais trier les mails reçus à chaque réception de mail, réglage effectuable dans blogtrottr, sur des mots clés.

Capture décran 2020 06 13 à 10.45.35
 
Cette partie est très fastidieuse je le conçois, longue dans le temps j'en ai conscience, mais nécessaire au bon filtrage de vos données reçues.
Ainsi, je vais avoir la possibilité d'interroger autant de fil RSS que de labels que j'ai créés. 
Désormais, passons à l'iterrogation de flux RS issus de GMail. Pour interroger un fil RSS de Gmail. Attention toutefois, les fils RSS (bien qu'il faille connaitres leurs URL) son publics sans authentification dans leurs URL.
Afin de pouvoir lire votre flux RSS thématiques que vous avez créés, rendez-vous à l'adresse http://www.gmail.com/mail/atom/{votre label gmail}
Si vous creez autant de regles que de filtres nécessaires (sur le titre, le contenu....), vous aurez monté des filtres de tris sur les RSS 
 
 

Cette fois ci, dans ce long parcours des API Youtube, je vous propose de travailler sur les statistiques de votre chaine. Mais ne vous emballez pas ... Vous ne pourrez travailler que sur ce que Youtube vous retourne comme statistiques, et personnellement, le trouve les résultats assez pauvres.
Si vous suivez mes tutos depuis le début sur Youtube, vous avez désormais compris que les API retournent des ensemble de données en fonction du paramètre parts que vous fournissez à l'API. Ici, le paramètre parts doit prendre la valeur "statistics" pour récupérer les quelques statistiques de votre chaine.

L'appel de l'API

L'appel de l'API pou les statistiques de votre chaine se fait de la manoère suivante :

https://www.googleapis.com/youtube/v3/channels?part=statistics&id=[VOTRE_ID_DE_VOTRE_CHAINE]&key=[VOTRE_CLEF_API]

Vous voyez la valeur du paramètre parts ?
Les données retournées au format JSON sont placées dans la sous-sous rubrique (!) statistics de la sous rubrique spécifiant le n° de votre chaine (0 si vous n'en avez qu'une) de la rubrique items. Remarquez donc au passage qu'en plus des quelques données statistiques, Youtube vous retourne quelques informations de votre chaine.
Youtube ne vous retourne que 5 résultats (dont un booléen) spécifiant les données suivantes

  • viewCount : nombre de vues total de votre chaine
  • commentCount : nombre de commentaires laissés sur l'ensemble de votre chaine. Attention, 0 si vous désactivez la possibilité de laisser des commentaries.
  • subscriberCount : nombre total d'abonnés à votre chaine
  • hiddenSubscriberCount : si vous avez désactivé dans Youtube l'affichage du nombre d'abonnés, la valeur sera TRUE, sinon elle sera à FALSE. A priori, quelque soit la valeur de ce booléen, le champs précédent sera quand même rempli.
  • videoCount : nombre total de vidéos sur votre canal (c'est à dire votre chaine).

Et voila, vous êtes désormais capable d'afficher vos statistiques de votre chaine Youtube sur votre propre site. Have fun.

Dernière modification le jeudi, 04 juin 2020 10:54

Aujourd'hui, dans la suite de nos articles concernant le site collaboratif de partage de vidéos YouTube, nous allons regarder de plus près l'accès aux bannières.

Mais avant de commencer, nous allons définir ce qu'est une bannière au sens YouTube. Comme je vous l'ai déjà dit, lorsque vous avez un compte Google, vous avez de ce fait un compte Youtube, et donc vous possédez une chaîne par défaut. Cette chaîne, peut-être ne l'alimentez-vous pas, si vous n'êtes pas vous-même youtubeur. 
En revanche, si vous êtes plus actif sur votre compte Youtube, vous aurez sûrement personnalisé votre page d'accueil, en affichant notamment en haut de celle-ci, une image de fond d'écran. Cette image s'appelle, au sens YouTube, une bannière.

Banner

 
Maintenant que la définition de bannière est effectuée, nous allons voir comment nous pouvons récupérer l'URL de cette image, pour éventuellement l'intégrer sur un autre site. De ce fait, si vous avez un site internet dans lequel vous intégrez vos propres vidéos YouTube, en récupérant la bannière de YouTube, vous pourrez, lorsque vous la changez sur Youtube, avoir une mise à jour "automatique" de cette même bannière sur votre site.
ATTETION :  il y a requête HTTP que je vais vous donner, dans laquelle vous allez spécifier l'identification de votre chaîne, votre clé API, possède aussi un paramètre brandingSetting. Pour mener à bien notre requète, la valeur de ce le paramètre à passer dans l'url est brandingSettings. On obtient donc une URL de la forme :

https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&id=[ID DE VOTRE CHAINE]&key=[VOTRE CLEF API] 

En retour, YouTube vous renvoie une chaîne au format JSON, comme d'habitude, dans laquelle vous pourrez récupérer toutes les métadonnées de votre canal (ou votre chaîne c'est la même chose).qui
Je vous laisse donc le soin d'étudier le retour des données retournées, mais notez toutefois que vous avez le titre, la description de votre canal que vous avez défini, ainsi que tout un ensemble de données dont l'URL de votre fameuse bannière, dans des formats ou plutôt dans des spécifications (tailles) différentes, en fonction de son affichage souhaité, si c'est sur un ordinateur ou sur un équipement mobile tel un téléphone.
Même si ces informations retournées ne sont pas conséquentes en volume et en détails, je souhaitais vous partager cette petite API de YouTube, et vous permettrait éventuellement, de personnaliser votre site internet aux couleurs de votre chaîne Youtube, mais surtout de faire en sorte que votre chaîne Youtube "pilote" l'interface graphique de votre site internet. De vous à moi, c'est le seul intérêt que j'y vois.
 
Amusez-vous bien

Nous allons aujourd'hui regarder de plus près une fonctionnalité de OpenStreetMap, et on appelle généralement du geocoding ou Geodecoding.

Le principe est simple, à partir d'une adresse postale, le Geocoding convertit cette adresse postale en coordonnées GPS. Le Geodecoding fait l'opération inverse.

Travaillant depuis très longtemps avec les API de Google Maps, j'ai abandonné ce système lorsque celle-ci sont devenues payantes. Je suis désormais passé sur OpenStreetMap, un site collaboratif de cartographie
Nous allons voir ici comment, à partir de coordonnées géographiques, latitude et longitude, l'API d'OpenStreetMaps nous retourne les informations sur l'adresse que nous avons spécifiée sous la forme longitude latitude.
Pour effectuer cette opération, OpenStreetMap a mis en place Nominatim, du latin, signifiant "par le nom".
Le principe est très simple, dans les paramètres de l'URL, nous plaçons l'adresse postale depuis laquelle nous recherchons des coordonnées géographiques, et nous lançons et la requête http sur le serveur. En retour, le serveur nous renvoie des données dans le format spécifié dans l'URL. Ce format peut-être XML ou JSON, selon le type que vous souhitez avoir. Ces données retournées spécifient l'adresse postale complète c'est-à-dire avec les coordonnées GPS ainsi que quelques autres données concernant le contributeur, la référence du lieu, ainsi que quelques autres informations moins indispensables pour notre action.
Comme à notre habitude, une fois les résultats obtenus, il suffit de parser cette grande chaîne retournée par le serveur, en l'occurrence un format JSON ou XML, afin d'en extraire les informations que vous souhaitez d'exploiter.

Nous allons prendre colle exemple, la rue Jean Jaurès de Nancy. L'URL est de la forme :

https://nominatim.openstreetmap.org/search?street=rue+jean+jaures&city=nancy&format=json

Le resultat obtenu sera :

 
Dernière modification le vendredi, 29 mai 2020 09:15

Nous allons voir aujourd'hui, dans notre voyage dans les API de Youtube, l'une d'entre elle très pratique mais très inutile en tant que telle. Elle sert à récupérer l'enemble des rubriques dans lesquelles les videos peuvent être classées.

L'appel de l'API

L'appel de l'API est super simple et se crée de la manière suivante :

https://www.googleapis.com/youtube/v3/guideCategories?part=snippet&regionCode=FR&key=votre code API

L'API vous retourne une chaine JSON, retour classique de l'API Youtube (on commence à connaitre avec tous mes articles) qu'il ne reste plus qu'a parser.
Je souhaite toutefois attirer votre attention sur un point particulier, que nous avons déjà vu sur un précédent article, que Youtube, à des fins de facilités je suppose, considère ces catégories comme des canaux (channels). Et vous vous rappelez de mes précédents articles, cela a aussi été le cas pour d'autres précédentes, où Youtube considère les lives à venir comme un seul canal que l'ont peut interroger. On pourrait même conclure, le tout en prenant des pincettes, qu'un canal n'est pas une chaine Youtube, mais peut l'être puisqu'un canal (channel) est un flux d'un ensemble de vidéos, qu'elle soient accessibles ou lives programmés.
Mais à ce stade, je considère que la définition que je viens de faire d'un canal est sûrement encore incomplète !

Les retours

Lors de l'appel de l'API, cette dernière vous retourne une liste de vidéos.

Capture du 2020 05 27 12 07 43

Pour chacun des résultats retournés, vous l'API vous stipule :

  • kind : type du résultat retourné
  • etag : partie du protocole de communication HTTP utilisée pour la validation du cache
  • id : identification (non documentée dans la documentation officielle)

Ensuite, un sous ensemble snippet se trouve à la suite de ce résultat. Le snippet retourné est constitué de :

  • title : titre de la catégorie dans laquelle se trouve la vidéo. (En anglais)
  • channelId : identification du canal où la vidéo est stockée.

Voila, un petit article bien court mais essentiel dans la compréhension des API.

Dernière modification le jeudi, 28 mai 2020 13:41

Utilisant tellement peu cette fonctionnalité (destinées aux jeunes fans des réseaux sociaux ?) que j'ai presque oublié d'en parler. Et pourtant, la gestion des hashtags, quelque soit la plateforme (Youtube, Facebook, Twitter, ou encore Aujourdhuianancy.com pour ne citer que les plus grands...)  reste une méthode de recherche si récente ques les vieux comme moi n'y pensent même pas. Pour rappelle, le hashtag (mot-dièse dans la langue française) est un mot, souvent précédé du symbole dièse, stipulant une idée, derrière laquelle le moteur de recherche de hashtag de la plateforme recherchera tous les articles possédant ce hashtag.

Pour Youtube c'est pareil. Je ne reviendra pas dans cet article à la récupération des données, on en a déjà parlé à plusieurs reprises dans mes articles sur Youtube, mais nous allons plutôt voir comment lancer la requête idoine. La requete http est de la même forme que celle d''une recherche classique. En revanche, pour spécifier à Youtube que la recherche n'est faite que sur les hashtags, il faut DOUBLER LE SYMBOLE # dans la recherche, et évidemment l'URLEncoder (les navigateurs modernes s'en chargent automatiquement). Ainsi, et je vous renvoie sur l'article sur les recherche pour avoir tous les détails, si vous souhaitez faire une recherche sur le hashtag #guitar, la requête sur l'API de Youtube sera de la forme : 

https://www.googleapis.com/youtube/v3/search?part=snippet&q=%23%23guitar&key=[YOUR_API_KEY]

Bien entendu, dans cet exemple, le symbole # est "urlencodé" en %23 mais si vous mettez un dièse dans l'URL revient au même. Pour tous les détails de la recherche, n'hésitez pas à consulter l'article sur les recherches Youtube.

Dernière modification le mardi, 19 mai 2020 21:09

Aujourd'hui nous allons regarder de plus prêt, comment vous pouvez intégrer sur une page web, un live ou une vidéo pré-programmée par son utilisateur/diffuseur sur Youtube, en allant rechercher la vidéo en elle-même, mais aussi toutes les métas données qui lui sont rattachées. Le principe n'est pas très compliqué, mais il faut savoir où chercher l'information dans l'API de Youtube ! J'ai fouillé la doc de l'API Youtube pour vous.

La requête est de la forme :

https://www.googleapis.com/youtube/v3/videos?part=snippet&liveStreamingDetails&id=F25G5koi1F8&key=votreClefAPI

Détaillons cette ligne :

  • https://www.googleapis.com/youtube/v3/videos : URL de base pour effectuer cette fonction

  • part=snippet,live : quel type de données sont elles à renvoyer (je vous renvoie à la doc Google pour comprendre. Attention : jusque maintenant, nous avons essentiellement travaillé avec le paramètre snippet. Ici, il faut en + rajouter le paramètre liveStreamindDetail, après une virgule.)

  • Id : identifiant du flux en streaming que vous souhaitez récupérer

  • key : votre clef API personnelle

 

Une fois la requête lancée, l'API va vous retourner toutes les informations nécessaires à l'intégration de votre stream une une page web.
Mais pour pouvoir intégrer votre vidéo, il faut récupérer l'ID de la vidéo (enfin du live) qui est souvent passé dans l'URL sur la plateforme Youtube.
Reprenons, pour clarifier la situation, les étapes à réaliser, avant que nous nous plongions dans le code :

1. Tester si l'URL contient l'ID de la chaîne

2. Si non, on affiche un message d'erreur. Si oui, on questionne l'API sur le prochain live prévu par la chaîne de cette façon :

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=ID_DE_LA_CHAINE_INTERROGEE&type=video&eventType=upcoming&key=MA_CLEF_API

L'API retourne à l'utilisateur un flux JSON qui contient l'ID du stream qui vous intéresse. Dans notre cas, partons du principe que nous ne travaillerons que sur le premier prochain streaming programmé, mais il est possible de travaille sur TOUS les streams retournés puisqu'ils le sont dans la réponse à la requête http.

Nous extrayons donc, à ce moment l'id de la vidéo, que nous allons réinjecter directement dans une autre requête sur l'API de Youtube afin de récupérer les détails de la video :

https://www.googleapis.com/youtube/v3/videos?part=snippet&liveStreamingDetails&id=VIDEOIDkey=MACLEFAPI;

Cette requête va retourner un flux JSON que nous allons parser. Pour des raisons de facilités à mon goût, je colle tous les résultats dans un tableau (avec le paramètre TRUE de la fonction json_decode) que je parcours.

 

PARCOURS DU TABLEAU

 

A chaque ligne du tableau trouvée, j'extrais le titre, la date du prochain live, et l'id de la vidéo, ceci me permettant de reconstituer l'Iframe dans laquelle je vais intégrer la vidéo.

A des fins d'ergonomie pour l'utilisateur, à l'aide d'expression régulière, je transforme toutes les url contenues dans le texte descriptif de la vidéo que je récupère, afin d'en reconstituer des liens cliquables, et j'en profite pour transformer tous les retours chariot en tag html <br>.

Pour finir, toujours à l'aide d'expressions régulières, je transforme toutes les chaînes symbolisant des mots-dièse (hashtags en anglais) en liens cliquables de recherche sur youtube.

Dernière modification le lundi, 18 mai 2020 20:11
Page 1 sur 8