ENREGISTRER UNE IMAGE D'UN SITE DISTANT

cs_depression Messages postés 100 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 13 juillet 2009 - 7 avril 2008 à 16:52
waterw72 Messages postés 63 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 18 juillet 2008 - 17 oct. 2008 à 12:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46302-enregistrer-une-image-d-un-site-distant

waterw72 Messages postés 63 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 18 juillet 2008
17 oct. 2008 à 12:44
Bjr,

Je vais couper court à ce débat ...
Je n'ai pas accès aux site cible que l'on va appeler "X" parce que mon réseau/firewall me le refuse.
J'utilise donc mon site (et donc ce script) pour récupérer les images du site "X" que j'enregistre sur mon site.
Ensuite, je peux récupérer ces images de mon site auquel j'ai accès.
grislienski Messages postés 4 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 16 octobre 2008
16 oct. 2008 à 22:43
Par contre un petit exemple d'appel de la class serait le bienvenue :)
grislienski Messages postés 4 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 16 octobre 2008
16 oct. 2008 à 22:40
Moi je me dit que ce script ne servira pas forcément à piraté des œuvres, il peut être utile pour d'autres utilisations...
Je vais m'en servir et l'application ne sera en aucun cas illégale.
Ce qui est illégale ce serait effectivement de s'en servir pour pompé des images effectivement protéger, mais pour le reste c'est très utile...
Merci pour ce script
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2008 à 18:01
Oublie on sinon je recrée la requette http pour changer des information comme le user-agent ou mettre un cookie par exemple
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
1 mai 2008 à 18:00
Mon je croyais autre chose quand j'ai vue le titre je pensais a un code qui enregistrer l'image du site une fois intérprété , sinon quand je veut upload un fichier d'un autre site j'utilise copy() ou file_get_contents
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 avril 2008 à 19:22
Oui, certes, on ne devient pas assassin en achetant des couteaux de cuisine. Ce code peut être pratique quand on sait ce que l'on fait avec, et qu'on s'en sert à but personnel.
néanmoins, s'il y a une mention légale indiquant qu'il est interdit de copier les images d'un site...c'est que c'est interdit. Parce que contrairement à ce que j'ai lu, c'est bel et bien soumis à la loi de la propriété intellectuelle.
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
29 avril 2008 à 18:37
Salut,
$img = file_get_contents($url);
file_put_contents('toto.ext', $img);
ça doit aussi fonctionné
cs_twisteurwin Messages postés 167 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 2 mai 2009
14 avril 2008 à 13:06
yop bonne source :)
Excellent le débat, on achète bien des couteaux de cuisine et c'est pas pour autant qu'on découpe tout le monde avec :p

bon courage pour la suite,
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
9 avril 2008 à 13:33
ca sert pas a grand chose d'en discuter, la source n'est pas illegale, c'est son utilisation dans un cadre particulier qui peut l'etre...

Sinon, la source se limite aux pages accessiles en GET directement, impossible de s'authentifier puis d'acceder a une image.

une solution pour proposer cette fonctionalite : utiliser curl, coder une interface "web driver", puis un "curl-driver" et considerer le chemin pour acceder a une image comme une route, faut la modeliser, puis faire en sorte que le web-driver puisse l'emprunter ;)

si tu veux pousser a l'analyse de ces pages, il faut alors faire une class web-ressource et utiliser un pattern genre "visitable/visiteur", une ressource web contient des headers, et un content, qui peut-etre soit xml, soit "gd-openable"

voila, t'as un schemat d'abstraction pour curl qui semble assez complet :)
jantosze Messages postés 72 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 15 mai 2009
9 avril 2008 à 11:20
C'est ce que j'ai écrit, et comme tu le soulignes c'est bien à l'auteur à spécifier que l'œuvre exposée est soumise à la législation des droits patrimoniaux le (c) et nécessite pour son exploitation un contrat spécifique (même si tacitement il en existe un ).
Attention de ne pas faire l'amalgame entre lieux publics et privés. Par exemple se rendre chez UGC et enregistrer le film en douce c'est du vol, par contre si UGC projette sur la place publique un film et je l'enregistre c'est légal au sens des droits patrimoniaux, c'est l'usage de l'enregistrement qui peut présenter des problèmes. Pour internet il est vrai que l'espace public et privé n'est pas toujours évident (si le nom d'un domaine appartient au patrimoine le fait de le citer ou de le référencer - au même titre qu'une référence dans un texte - est de l'ordre du domaine public): donc dans le doute abstient toi...
Ce que nous évoquons rentre en droite ligne dans la problématique de la CNIL concernant la sécurité et la protection des données personnelles.
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
9 avril 2008 à 10:56
Quelle que soit l'oeuvre (images, article, poème, roman, vidéo, musique, son...) diffusée publiquement sur Internet, elle ne peut être récupérée sans autorisation expresse de la part de son auteur. C'est pourquoi il faut faire très attention avec cette pratique. Ce n'est pas parceque l'oeuvre est diffusée publiquement que l'on a le droit de se l'accaparer.

C'est comme lorsque vous allez au cinéma, à un concert ou bien dans une exposition de peinture. Vous allez dans un lieu public pour apprécier une oeuvre mais ce n'est pas pour autant que vous allez enregistrer le film avec votre camescope, ou bien enregistrer en live le concert ou encore repartir avec le Picasso que vous avez devant les yeux.

Sur Internet, c'est pareil ! L'auteur diffuse sa création (oeuvre de l'esprit) au public mais n'autorise pas forcément sa reprise, sa modification, sa rediffusion...

Notez également que pour "linker" une page externe de son site perso, il faudrait en théorie demander l'autorisation du propriétaire du site externe ainsi que des auteurs des oeuvres présentes sur la page si ce dernier héberge des créations d'auteur. Bien sûr presque personne ne respecte cette règle mais c'est bon de le savoir quand même.
jantosze Messages postés 72 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 15 mai 2009
9 avril 2008 à 10:38
Bonjour,

Si je regarde les différentes spécifiées de la loi j'ai quoi:
- Les droits de l'auteur tels que définis dans L112-1 et 112-2, donc c'est bien le propriétaire de la photo( graphisme...) qui conserve la propriété du bien,
- Mais le fait de le déposer (le bien) sur un espace public il prend (le propriétaire) la décision de la diffuser et de l'exploiter alors nous rentrons dans le régime des droits patrimoniaux càd:
- Le droit de reproduction, concrètement c'est un contrat (écrit ou orale) par lequel le propriétaire vend à un éditeur de son choix (dans notre cas tout le monde puisque le bien est téléchargeable sur un espace public) qui permet une rétribution de l'auteur par l'éditeur d'un certain % des ventes ( donc dans le pire des cas n% de 0 = 0).
- Le droit de représentation, c'est la communication au public (càd tu as télécharger la photo et d'autres viennent la visiter ou la télécharger pour un usage personnel) Dans ce cas il existe un contrat tacite ou formuler qui règle une rémunération de l'auteur en fonction du CA dégagé des ventes de représentations ( ici aussi n% de 0 = 0).
- Le droit de suite, c’est-à-dire que l'auteur perçoit n% lors d'une vente aux enchères par exemple, donc même raisonnement que dans les cas précédents,
- Le droit moral càd:
- Le droit de divulgation, seul l'auteur décide de la façon de divulguer l'œuvre, dans notre cas c'est claire elle est mise à dispos sur un espace public.
- Le droit de paternité, donc la photo doit être identifiée (sauf anonymat ou pseudo) donc attention à ce point
le droit au respect de œuvre, son intégrité doit être préservée, le fait de copier respecte cette condition,
- Le droit de repentir ou de retrait, il permet à l'auteur de faire retirer l'œuvre à tout moment. Attention l'exposant peut demander une indemnisation d'un préjudice subi!!!

Un peu long certes, mais dans ces conditions copier une photo, un graphisme, ne comportant pas une formulation de protection de droits d'auteur et de conditions d'exploitation, mis à disposition sur un site ne me semble pas illégal.C'est bien à l'auteur de prendre ses dispositions de protection.
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
9 avril 2008 à 09:16
Cette pratique est illégale dans la mesure où l'on ne possède pas les droits / permissions du propriétaire du site pour récupérer son contenu iconographique. Si en revanche, tu t'amuses à récupérer des images qui t'appartiennent et que tu héberges sur ton Flickr par exemple, c'est tout à fait légal. Il faut juste savoir faire la différence entre "une pratique illégale" et une source qui quant à elle est légale.
jantosze Messages postés 72 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 15 mai 2009
8 avril 2008 à 10:59
Salut,

Une indication du type d'erreur eût été à point, par exemple,
private $statusHandle = 0;
getStatus { return $this->statusHandle;}
Puis avant l'un des return false de Save() un petit code indicatif dans statusHandle et voila un utilisateur pas pris au dépourvu...
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
8 avril 2008 à 10:01
Les fonctions file_*_contents fonctionneront sur des url seulement si les fopen wrappers sont activés, ce qui n'est pas forcément le cas :/
Apres tu peux aussi implémenter ton propre stream_wrapper :)

Je ne sais pas si faire une classe pour récuperer une image soit une bonne idée. Une simple fonction suffirait dans ce cas.

Indique la portée des fonctions aussi. Tu le fait pour les variables (private, c'est bien), fait le aussi pour les fonctions, public/protected/private :)
waterw72 Messages postés 63 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 18 juillet 2008
8 avril 2008 à 09:53
Je sais pas.
Peut-être parce que je suis débutant et que je ne connais pas ces fonctions. :)
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
8 avril 2008 à 09:49
Pourquoi pas utiliser:
file_put_contents('/path/to/local/image.ext', file_get_contents('http://site.tld/path/to/image.ext')) ?
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
8 avril 2008 à 09:25
D'apres ton commentaire, Waterw72, je ne vois toujours pas ce qu'il y a d'illégal !!

Je te propose de remettre ta source, si elle est vraiment illégale, un admin cs s'en chargera, t'inquiete pas :)
Tant que tu propose pas un systeme pour cracker les cb, tu risque pas de te faire virer :p Tu peux pas tout savoir au niveau légalité, bien que "nul n'est sensé ignorer la loi" :p

@Depression : Pourrais-tu détailler la raison de ton commentaire ?
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
8 avril 2008 à 09:07
dommage, moi qui débute dans les sockets, ca aurrais pu m'aider :(
snifff
waterw72 Messages postés 63 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 18 juillet 2008
8 avril 2008 à 08:27
Bonjour,
Bon oK, je vais donc m'expliquer (...)
Ma source (une classe) permettait d'enregistrer une image d'un site web en connaissant son URL exacte( ex :nom_de_domaine/chemin/nom_du_fichier.jpg).
J'envoyais au serveur distant la même chose qu'un navigateur internet en utilisant "fsockopen".
Je lisais les données en retour avec fgets et enregistrais l'image dans un répertoire de mon site web (local).

A titre d'info, je récupérais les URL des images en parcourant les balise d'une page web dont la cible (href) contenait ".jpg".

Voila, c'est vrai qu'en voyant le premier commentaire, je me suis posé des questions et ai effacé ma source.
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
8 avril 2008 à 04:41
Moi aussi j'aimerais savoir en quoi cette source est illégal . faudrais que l'auteur s'explique.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
7 avril 2008 à 21:40
vraiment je suis aussi curieux !! :p
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 avril 2008 à 19:37
Hello,

heu, moi aussi...? D'autant plus que la source n'a pas été supprimée par un admin apparemment...
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
7 avril 2008 à 18:39
J'aimerais bien savoir aussi ce qu'il y a d'illégal à enregistrer une image en php ? lol
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 avril 2008 à 18:21
qu'y avait-il d'illegal ?
cs_depression Messages postés 100 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 13 juillet 2009
7 avril 2008 à 16:52
C'est illégal!
Rejoignez-nous