seenthis / seenthis_squelettes

plugin "squelettes" de seenthis
11 stars 6 forks source link

Ajouter Internet Archive, Twitter, Scribd, d'autres ? à auto-embed #122

Closed thibnton closed 7 years ago

thibnton commented 9 years ago

Ce serait chouette non ? (surtout pour Internet Archive j'avoue)

Je me permets d'éditer ton message afin d'afficher la liste des sites sous forme de todo en tête de page ;)

archiloque commented 9 years ago

Pas compris la demande :-/

thibnton commented 9 years ago

Faire en sorte que quand on ajoute un média, un film, un son ou un document depuis Internet Archive, un lecteur apparaisse sur Seenthis… Pareil pour quand on met le lien vers un tweet : que le tweet en question apparaisse, ou un lien vers un document scribd, que ledit document s'affiche. Ca fonctionne déjà avec les liens Youtube, Soundcloud ou Vimeo à l'heure actuelle. Suis-je plus clair ?!

archiloque commented 9 years ago

Oui c'est parfait, merci !

JamesRezo commented 9 years ago

Jamendo ? https://www.jamendo.com/fr/list/a106336/pirates-of-the-coast -> pourrait afficher leur widget ?

thibnton commented 9 years ago

Aussi ouais ! Tout ce qui est possible à vrai dire…

2015-05-12 10:28 GMT+02:00 James notifications@github.com:

Jamendo ? https://www.jamendo.com/fr/list/a106336/pirates-of-the-coast -> pourrait afficher leur widget ?

— Reply to this email directly or view it on GitHub https://github.com/seenthis/seenthis_squelettes/issues/122#issuecomment-101186922 .

homlett commented 9 years ago

Il y a une norme pour ça : http://www.oembed.com Certains, comme Facebook, ne la respectent pas. Ça vaut peut-être le coup de regarder du côté de Noembed alors : https://noembed.com

homlett commented 9 years ago

J'ajoute que l'embed de vidéos Dailymotion exige Flash. Or la version actuelle, basée sur une iframe, supporte flash et l'HTML5. La doc oEmbed : https://developer.dailymotion.com/documentation#player-oembed

brunob commented 8 years ago

Il faudrait peut-être envisager d'utiliser le plugin oembed pour ça non ?

http://plugins.spip.net/oembed.html

martinarnaud commented 8 years ago

Pas dingue dingue. Je sais que c’est très à la mode, mais ça a deux gros défauts:

Mais bon, si vous avez des exemples d’usages spécifiques, je suis intéressé à ce qu’on regarde ça, hein.

Arnaud

Le 15 avr. 2016 à 16:16, b_b notifications@github.com a écrit :

Il faudrait peut-être envisager d'utiliser le plugin oembed pour ça non ?

http://plugins.spip.net/oembed.html http://plugins.spip.net/oembed.html — You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/seenthis/seenthis_squelettes/issues/122#issuecomment-210479068

brunob commented 8 years ago

Hop,

les Tweets ça parasite totalement le flux, parce que graphiquement c’est ultra-marqué,

J'ai pas l'impression que ça soit si "marqué", cf l'exemple en ligne ici : http://labo.eliaz.fr/article80.html

tw

Mais bon, perso je m'en cogne des twits, mais je remarque que pas mal de gens en postent sur seenthis.

Pour les autres...

Le premier de la liste de souhaits me semble intéressant, Archive, car de plus en plus de monde y dépose du son par exemple. Pour le reste, je n'ai pas d'avis.

Fil commented 7 years ago

commons.wikimedia ici https://seenthis.net/messages/224091

brunob commented 7 years ago

Voici un patch qui permet de prendre en charger les fichiers ogg et mp3 de commons.wikimedia :

Index: autoembed.php
===================================================================
--- autoembed.php   (révision 102521)
+++ autoembed.php   (copie de travail)
@@ -19,7 +19,13 @@

    // Gérer les elements de dropbox (remplacer www par dl)
    $url = preg_replace("/^(https\:\/\/)(www)(\.dropbox\.com\/.*\/.*\/.*?)(\?dl=[01])?$/", '\1dl\3', $url);
-
+   
+   // Gérer les elements de commons.wikimedia
+   if (preg_match("/^https?\:\/\/commons\.wikimedia\.org\/wiki\/File\:(.*)/i", $url, $regs)) {
+       $md5 = md5($regs[1]);
+       $url = 'https://upload.wikimedia.org/wikipedia/commons/' . $md5[0] . '/' . $md5[0] . $md5[1] . '/' . urlencode($regs[1]);
+   }
+   
    // Si l'embed a deja été sauvegardé
    if (file_exists(_DIR_CACHE."$host/$dossier/$fichier")) {
        $html = implode("", file(_DIR_CACHE."$host/$dossier/$fichier"));

Source de l'astuce pour le coup du md5 : https://commons.wikimedia.org/wiki/Commons:FAQ#What_are_the_strangely_named_components_in_file_paths.3F

Reste à gérer les images, mais j'ai l'impression qu'on fait ça plutôt dans seenthis et non autoembed...

https://github.com/seenthis/seenthis/blob/master/inc/traiter_texte.php#L107

Sinon, je peux tenter me brancher sur l'API mediawiki ou utiliser l'astuce du Special:Redirect/file cf https://commons.wikimedia.org/wiki/Special:Redirect/file

Et une dernière piste au cas où : https://tools.wmflabs.org/magnus-toolserver/commonsapi.php

brunob commented 7 years ago

Je vois qu'on a du code en double, par exemple la gestion des liens dropbox est présente dans autoembed et dans seenthis, donc voici le patch à envoyer dans seenthis pour la prise en charge des images de commons :

diff --git a/inc/traiter_texte.php b/inc/traiter_texte.php
index 0683091..1a67087 100644
--- a/inc/traiter_texte.php
+++ b/inc/traiter_texte.php
@@ -111,6 +111,12 @@ function _creer_lien_riche($lien) {
        // Gérer les images en lien dropbox (remplacer www par dl)
        $lien = preg_replace("/^(https\:\/\/)(www)(\.dropbox\.com\/.*\/.*\/.*)$/", '\1dl\3', $lien);

+       // Gérer les images de commons.wikimedia
+       if (preg_match("/^https?\:\/\/commons\.wikimedia\.org\/wiki\/File\:(.*)/i", $lien, $regs)) {
+           $md5 = md5($regs[1]);
+           $lien = 'https://upload.wikimedia.org/wikipedia/commons/' . $md5[0] . '/' . $md5[0] . $md5[1] . '/' . urlencode($regs[1]);
+       }
+
        // liens vers des ressources github (ajouter ?raw=true)
        if (preg_match(",^https://(github\.com/[^/]+/[^/]+)/blob/(.*)$,",
        $lien)) {
brunob commented 7 years ago

Intégré dans seenthis et autoembed cf https://zone.spip.org/trac/spip-zone/changeset/102555

brunob commented 7 years ago

@JamesRezo et voilà pour jamendo (même si leur player est vilain) : https://zone.spip.org/trac/spip-zone/changeset/102558

brunob commented 7 years ago

Et hop pour archive.org, dont j'ai testé l'audio et la video cf https://zone.spip.org/trac/spip-zone/changeset/102562 (pas encore le top mais ça fait le job, cf mon log de commit).

brunob commented 7 years ago

Je crois qu'il va falloir affiner pour achive.org, car ça attrape bien top de liens cf :

https://seenthis.net/sites/112320

Ça fonctionne bien dans certains cas comme ici : https://seenthis.net/messages/532531#message534052

Mais ça foire sur les urls en stream comme ici : https://seenthis.net/messages/529210#message529375

À voir si c'est améliorable ou s'il faut lâcher l'affaire. Le mieux serait de ne pas se baser sur les stubs, et de récupérer la page liée afin de vérifier la présence de la meta twitter:player avant de faire un embed, mais ça plomberait les perfs...

Fil commented 7 years ago

j'ai ajouté instagram dans la todo cf https://seenthis.net/messages/642695#message642774

rastapopougros commented 7 years ago

Mais le plugin oEmbed maintenu par la communauté permet de définir ce qui est en liste blanche ou pas, non ? Donc ce n'est pas obligé d'insérer les tweets, ou autre service qu'on ne veut pas sur seenthis, suivant comment on le paramètre.

Du coup je ne vois pas l'intérêt de maintenir un plugin séparé qui fait moins de chose au lieu de profiter du truc commun.

brunob commented 7 years ago

On se retrouve @rastapopougros c'est exactement ce que je proposais dans un commentaire précédent, mais la proposition ne semble pas avoir eu succès. À noter que autoembed, comme indiqué dans le fichier INSTALL, n'est pas de l'oembed cf :

https://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/autoembed/INSTALL#L8

Par exemple, le plugin prend en charge les mp3 et les ogg sans passer par oembed.

brunob commented 7 years ago

Je m'occupe d'ajouter la prise en charge instagram dès que j'ai un moment, et je fermerai le ticket quand ça sera fait (même si scribd n'est pas encore intégré).

Ainsi ça évitera de garder un ticket à rallonge ouvert depuis des mois dans le tracker, amha on devrait créer un ticket pour chaque ajout, sans quoi c'est compliqué pour les personnes qui assurent la maintnenance de s'y retrouver :)

brunob commented 7 years ago

Et voilà pour instagram : https://zone.spip.org/trac/spip-zone/changeset/107409