ericl
(eric)
Juin 12, 2018, 9:09
1
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
ericl
(eric)
Juin 12, 2018, 10:20
2
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.
ericl
(eric)
Juin 13, 2018, 4:29
3
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
ericl
(eric)
Juin 13, 2018, 4:40
4
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}| ....
ericl
(eric)
Juin 13, 2018, 9:04
5
Lien vers doc google sur youtube "Turn on privacy-enhanced mode" :
https://support.google.com/youtube/answer/171780?hl=en
nicod
(nicod_)
Juin 14, 2018, 12:05
6
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_
ericl
(eric)
Juin 14, 2018, 2:00
7
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