oembed 2.07 - Cookies

Bonsoir,

J"ai lu cela : https://contrib.spip.net/oEmbed-4407#forum497106

Fait la mise à jour du plugin.

Vider le cache.

Transformer ... : Oui
Liste blanche : Non (j'en ai une)
Provider oembed : non

Cependant dans le code, je vois toujours une url https://youtube.com :

.html(decodeURIComponent('%3Ciframe%20width%3D%22380%22%20height%3D%222
14%22%20src%3D%22https%3A%2F%2F

www.youtube.com

%2Fembed%2FpSoaJkHxC3I%3Ffeature%3Doembed%26autoplay%3D1%22%20framebord
er%3D%220%22%20allow%3D%22autoplay%3B%20encrypted-
media%22%20allowfullscreen%3E%3C%2Fiframe%3E'

Devrais-je avoir une url www.youtube-nocookie.com ?

Merci.

Cordialement,

Eric

Devrais-je avoir une url www.youtube-nocookie.com ?

J'ai saisie : c'est au moment de la génération du html () que l'url est
changée.
Pour les documents distants existants : modifier le code des fichiers
en "cache" :du dossier /IMG/distant/html.

Bonjour,

Je modifie le modèle de oembed_video.html pour coordonner les actions
qui entraine l'implantation de cookies et tarteaucitron.js (https://git
hub.com/AmauriC/tarteaucitron.js)

Par exemple :

- le lancement d'une video youtube changera l'état d'acceptation des
cookies pour ce service dans l'interface de gestion tarteaucitron
(autoriser).

- un changement dans la console de gestion tarteaucitron (mise sur
interdire) déclenchera un un retour à l'état initial de la page spip :
plus de cookies, pas de préchargement, fin de session youtube.

Pour la coordination, j'ai besoin de générer un id unique pour le d
iv :

<div class="rwd-video-container[(#GET{async}|oui)oe-play-button]"

Il faut que celui ci soit du type :

id="Oemb" + nombre_unique + "ed" + nomduservice

nomduservice est une chaine alpha qu'il faut déterminer en fonction de
l'url contenue dans le fichier
IMG/distant/html/contenuoriginalcache.html :

par exemple si le domaine matche youtube-nocookie.com, le service sera
spipoembedyoutube.

Le plus "spip" est je pense d'utiliser la balise #ENV{html} et de
matcher et initialiser avec #SET les différentes valeurs nécessaires :

src -> domaine.tld -> service

src -> iduniquevideo -> nombre(iduniquevideo) + time_ms ->
nombre_unique

Je m'y met.

Un petit coup de pouce, les pistes sont les bienvenues.

Cordialement,

Eric

Le plus "spip" est je pense d'utiliser la balise #ENV{html} et de
matcher et initialiser avec #SET les différentes valeurs nécessaires
:

src -> domaine.tld -> service

src -> iduniquevideo -> nombre(iduniquevideo) + time_ms ->
nombre_unique

#SET{service,#ENV*{data/html}| ....
#SET{nombreunique,#ENV*{data/html}| ....

Lien vers doc google sur youtube "Turn on privacy-enhanced mode" :

https://support.google.com/youtube/answer/171780?hl=en

Le 13/06/2018 à 18:40, eric a écrit :

Le plus "spip" est je pense d'utiliser la balise #ENV{html} et de
matcher et initialiser avec #SET les différentes valeurs nécessaires
:

src -> domaine.tld -> service

src -> iduniquevideo -> nombre(iduniquevideo) + time_ms ->
nombre_unique

#SET{service,#ENV*{data/html}| ....
#SET{nombreunique,#ENV*{data/html}| ....

Je n'ai pas tout suivi en détail mais du peux utiliser md5 pour générer une chaine probablement unique depuis un contenu :

#SET{service,#ENV*{data/html}|md5}

Si tu n'as pas besoin que ce soit lié particulièrement au contenu de #ENV{data/html}, tu peux aussi utiliser uniqid :
#SET{service,#VAL|uniqid}

--
nicod_

Merci à nicod

Si tu n'as pas besoin que ce soit lié particulièrement au contenu de
#ENV{data/html}, tu peux aussi utiliser uniqid :
#SET{service,#VAL|uniqid}

PHP: uniqid - Manual

J'ai fait comme cela :

modeles/oembed_video.html :

- <div class="rwd-video-container[(#GET{async}|oui)oe-play-
button]"
+ <div
[id="Spip[(#VAL|uniqid|hexdec)]edspipoembed(#ENV{data/html}|match{'yout
ube'})"] class="rwd-video-container[(#GET{async}|oui)oe-play-button]"

Il me reste à matcher les autres services : vimeo, dailymotion

Pour l'activation du service dans la console de paramètre
tarteaucitron.js sur clic/lancement de la video :

- [(#GET{async}|oui)onclick="if
(jQuery(this).is('.oe-play-button')){jQuery(this).removeClass('oe-play-
button').addClass('loading').html(decodeURIComponent('[(#ENV*{data/html
}|oembed_force_video_autoplay|rawurlencode|texte_script)]'));}"]>
+ [(#GET{async}|oui)onclick="if
(jQuery(this).is('.oe-play-button')){jQuery(this).removeClass('oe-play-
button').addClass('loading').html(decodeURIComponent('[(#ENV*{data/html
}|oembed_force_video_autoplay|rawurlencode|texte_script)]'));}
tarteaucitron.userInterface.respond(this, true);"]>

Pour les modifs dans tarteaucitron.js et tarteaucitron.services.js, il
y en a peu . Cela ne concerne que l'utilisation particulière d'oembed,
les sources dans le HTML ne correspondant pas aux codes/tags originaux.

Je ferai un compte-rendu complet quand cela sera terminé.

Cordialement,

Eric