11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je suis actuellement en train de programmer un agrégateur RSS en PHP.

Pour afficher un élément du flux, l'agrégateur affiche une page contenant un élément <object> pointant vers la page de l'élément concerné (le <link>, si aucun <description> n'est présent). Ceci en utilisant cette astuce : http://blog.alsacreations.com/2005/02/15/119-inclure-un-fichier-dans-une-page-html-sans-utiliser-iframe

Cependant, je me heurte à un problème plutôt gênant. Prenons le flux RSS de Hardware.fr. Avec un élément quelconque, je me retrouve avec ce code généré par PHP :

<object data="http://www.hardware.fr/news/7769/lt-i-gt-best-of-lt-i-gt-600-produits-sur-lesnum.html" type="text/html" class="item">


Le problème, c'est que toutes les pages de Hardware.fr contiennent ce code Javascript :

if (self.parent.frames.length != 0) { self.parent.location=document.location; }


C'est un anti-frames : les pages de Hardware.fr deviennent donc définitivement hostiles à mon agrégateur.

Sachant que mon agrégateur PHP poursuit exactement le même but qu'un agrégateur RSS GUI, et que l'affichage des éléments se fait sous GUI et pas avec mon script à cause de cet antiframes, je ressens comme une certaine injustice à laquelle j'aimerais bien remédier.

Ma question est donc la suivante : je suis une bouse en Javascript et il est possible que la réponse soit définitivement négative, mais j'aimerais savoir si il est possible de faire une sorte de "contre-antiframes" voire de désactiver entièrement Javascript à l'intérieur de l'object (qui visiblement se comporte comme une iframe en fait) pour que mon agrégateur affiche correctement les pages de news de Hardware.fr sans que l'utilisateur ne se retrouve balancé de force sur le site lui même.
Bonjour.
Eh non, c'est impossible. Y'a qu'à pas utiliser de frame point final.
Même si je comprends parfaitement l'utilité de ta frame ici.
Bonjour,

Le problème n'est pas technique, en fait.

Hardware.fr a fait le choix de ne diffuser via RSS que les liens vers ses "news", et non le contenu de celles-ci. L'ensemble de son contenu est diffusé sous copyright, et non sous une licence libre.

Ce site offre par ailleurs la possibilité de reproduire le contenu de ces news par un autre moyen (javascript) : http://www.hardware.fr/html/news/exportation.php3

Enfin, il est explicitement proposé dans la page mentionnée ci-dessus:

a écrit :

Si vous souhaitez réaliser d'autres formes de partenariats avec HardWare.fr (version cobrandée par exemple), n'hésitez pas à envoyer vos propositions au webmaster du site.


Bref: reproduire le contenu des news de ce site comme tu souhaites le faire:
- n'est pas l'exploitation "prévue" de ce flux RSS
- ne respecte pas, a priori, les conditions et les moyens prévus par ce site pour la réutilisation de son contenu

La première chose à faire serait, comme le suggère hardware.fr, de contacter le webmaster et de voir avec lui si une solution convenable peut être développée en commun.
@Un vacancier : c'est pas aussi simple. On ne peut interpréter les fonctions de mon agrégateur de deux manières :

1. L'agrégateur recopie Hardware.fr (violation de copyright)
2. L'agrégateur permet de voir Hardware.fr sous forme de "navigateur inclus" (pas de violation de copyright)

a écrit :
Hardware.fr a fait le choix de ne diffuser via RSS que les liens vers ses "news", et non le contenu de celles-ci. L'ensemble de son contenu est diffusé sous copyright, et non sous une licence libre.


Tout d'abord, un flux RSS comprend une balise <copyright> c'est pas pour rien Smiley smile elle sert justement à protéger le contenu du flux. Mon agrégateur reconnaît cette balise et l'affiche dans les informations de l'item visualisé.
Ensuite, beaucoup de sites ne diffusent pas les contenus dans les flux RSS, mais c'est plus pour des raisons techniques que de protection : ils préfèrent que les agrégateurs affichent directement la page pour éviter des problèmes de taille du flux (économie de bande passante) ou de dépendances XHTML (CSS, chemins vers les images, etc).

L'agrégateur personnel que j'utilise, Newz Crawler, fonctionne selon le comportement suivant :

- Il y a un <description> : il l'affiche.
- Il n'y a pas de <description> : il affiche la page contenue dans le <link> dans un navigateur interne. C'est un simple navigateur et ça ne constitue en aucun cas une violation de copyright, donc je vois pas pourquoi dans mon cas ça en serait une !

Mon agrégateur fonctionne exactement pareil. Si on considère que la frame affichée est un mini-navigateur pour afficher les news, je ne vois pas ce que je viole sachant que l'utilisateur est tout à fait conscient que le site Hardware.fr est inclus dans la page générée par mon agrégateur (puisque y'a le logo, les menus, le design, tout, puisque c'est une frame) et non copiée dans l'agrégateur.

Je pense qu'il y aurait violation de copyright si je téléchargeais la page de Hardware.fr DANS l'agrégateur, sauf que ici je la LIE. Encore une fois, je ne vois pas où est le mal et où est la violation de copyright.

a écrit :
Bref: reproduire le contenu des news de ce site comme tu souhaites le faire:
- n'est pas l'exploitation "prévue" de ce flux RSS
- ne respecte pas, a priori, les conditions et les moyens prévus par ce site pour la réutilisation de son contenu


J'imagine que les gens d'Hardware.fr ont aussi fait ce flux pour qu'il soit lisible par les agrégateurs personnels, et c'est précisément mon but Smiley smile Quand à la réutilisation du contenu, toujours le même problème de "limite" : je ne réutilise pas son contenu, je permet simplement aux gens d'accéder directement aux news d'Hardware.fr par le flux RSS. J'offre un moyen d'accès à une page tout à fait normale, je ne la copie pas.

Encore une fois, j'insiste bien sur le fait que si afficher les pages liées d'un flux RSS dans un agrégateur personnel est une violation des droits d'auteur, alors il y a en pas mal d'agrégateurs illégaux...

a écrit :
La première chose à faire serait, comme le suggère hardware.fr, de contacter le webmaster et de voir avec lui si une solution convenable peut être développée en commun.


Je crois que c'est la seule chose à faire, si il est techniquement impossible d'aller contre leur javascript... Smiley decu Mais quand même, ça m'étonne : si le contenu de la frame peut accéder à la frame parente, pourquoi ne pourait-on pas effectuer le chemin inverse pour aller, par exemple, supprimer tous les éléments script de la page ?

EDIT : j'ai un nouvel élément à ajouter : mon point de vue est qu'il y a violation de copyright si mon agrégateur est public. Or il s'agit d'un agrégateur privé (les gens créent leur compte et ajoutent leurs flux, qui ne sont affichés que sur leur compte).
Modifié par e-t172 (28 Aug 2005 - 12:15)