Re: Vimeo plante en tant que document distant
ARNO* <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Il y a deux difficultés (pour ce que j’en vois) avec mon patch: - ça n’identifie pas où est le problème avec Viméo, et pourquoi ça fait que SPIP passe désormais par la procédure de «secours» de inc/distant pour récupérer le contenu. Or c’est pas super-viable de patcher à un endroit si on n’identifie pas pourquoi tout d’un coup on a changé de comportement. - autant pour status=200, ça me semble logique, autant forcer le content-type à text/html, je suis beaucoup moins sûr. Si on récupère d’autres types de documents via cette fonction, que se passe-t-il? Comment le mime-type est-il identifié? ARNO* > Le 22 déc. 2018 à 10:31, klaus++ <[email protected]> a écrit : > > Je viens de tester sous SPIP 3.2.1 [23768] / Medias 2.20.23 - stable. > C'est parfait, pas de problème. > > Désormais je vais suivre le tuyau d'Arno pour récupérer les vidés dans > mes sites ;-) > > :-)k++ > > > On 22.12.18 08:25, erational wrote: >> Bonjour >> >> J'ai eu exactement le même problème en début de semaine (voir mon >> message du 17/12) >> - en local aucun problème >> - sur le web, impossible d'ajouter les vidéos de vimeo en document distant >> >> Le patch que tu proposes fonctionne bien. >> Cela permet de rétablir la fonction et d'ajouter la vidéo en tant que >> document distant (il manque juste encore la vignette de prévisualisation >> de la video) >> >> merci ! >> >> doit-on commiter sur le core ? >> >> >> Le 21/12/2018 à 20:42, ARNO* a écrit : >>> Salut, >>> >>> J’ai l’habitude de référencer des pages Viméo comme documents joints. >>> De manière très usuelle, dans un article, «Joindre document», onglet >>> «Sur l’internet», je colle par exemple: >>> https://vimeo.com/304775757 >>> et hop, ça me met la page en tant que document distant joint à >>> l’article, avec le titre récupéré. >>> >>> Sauf que depuis quelques jours, ça ne fonctionne plus. >>> >>> - En local sur ma bécane, ça fonctionne. >>> >>> - Sur un serveur Web en ligne, ça déconne, le document n’est «pas >>> trouvé»: >>> >>> >>> >>> Je suis allé jouer avec inc/distant.php, mais je n’arrive pas à >>> trouver où ça foire avec Viméo (avec Youtube, par exemple, pas de >>> problème). >>> >>> Il me semble qu’on arrive à récupérer le contenu de la page, et on se >>> retrouve à la ligne 447 avec: >>> } elseif ($res) { >>> $result['page'] = &$res; >>> $result['length'] = strlen($result['page']); >>> } >>> >>> Là j’ai quelque chose que je ne comprends pas: on renseigne le >>> $result[‘page’], mais on laisse $result[‘status’] à 0. Du coup, dans >>> recuperer_page, un résultat obtenu de cette façon là est jeté avec le >>> test sur status!==200 de la ligne 625: >>> if ($res['status'] !== 200) { >>> return false; >>> } >>> >>> >>> >>> ======= >>> >>> Pour faire fonctionner Vimeo, j’y parviens en faisant la modif suivante: >>> inc/distant.php, ligne 440 et suivantes=-; >>> >>> // si on a pas deja recuperer le contenu par une methode detournee >>> if (!$result['length']) { >>> $res = recuperer_body($handle, $options['taille_max'], $gz ? >>> $gz : $copy); >>> fclose($handle); >>> if ($copy) { >>> $result['length'] = $res; >>> $result['file'] = $copy; >>> } elseif ($res) { >>> $result['status'] = 200; >>> if (!$result['headers']) $result['headers'] .= >>> "Content-Type: text/html"; >>> $result['page'] = &$res; >>> $result['length'] = strlen($result['page']); >>> } >>> } >>> >>> C’est-à-dire forcer le statuts à 200 et forcer le content-type à >>> text/html. >>> >>> Est-ce que quelqu’un peut valider ou invalider cette solution, et >>> éventuellement comiter? >>> >>> ARNO* >>> >>> >>> _______________________________________________ >>> liste: https://listes.rezo.net/mailman/listinfo/spip-dev >>> doc: http://www.spip.net/ >>> dev: http://trac.rezo.net/trac/spip/ >>> irc://irc.freenode.net/spip >> > _______________________________________________ > liste: https://listes.rezo.net/mailman/listinfo/spip-dev > doc: http://www.spip.net/ > dev: http://trac.rezo.net/trac/spip/ > irc://irc.freenode.net/spip _______________________________________________ liste: https://listes.rezo.net/mailman/listinfo/spip-dev doc: http://www.spip.net/ dev: http://trac.rezo.net/trac/spip/ irc://irc.freenode.net/spip