
script : imgProtect v1.0
langage : javascript
catégorie : module
usage : Une astuce javascript pour empêcher les néophytes de copier vos images.
tags : ergonomie - image - technique
Oui, bon, je sais :
Il est impossible sur internet de protéger une image contre la copie... Néanmoins, on peut trouver quelques astuces pour que
les personnes pas trop calées en informatique (c'est à dire au moins 90% des internautes) ne soient pas en mesure d'enregistrer les
images d'un site. Ce script est là pour ça.
Oui, bon, je sais aussi :
C'est un peu bizarre, sur un espace d'esprit open source, d'aider à protéger les images contre la copie... J'admets.
Mais ce n'est pas parce que je m'associe au copyleft que je me sens l'ennemi de ceux qui se veulent propriétaire de leurs
créations. C'est le cas de plusieurs de mes amis. C'est pour eux à l'origine que j'ai mis ce script au point.
(Peinture de Bruegel l'Ancien)
Eh bien allez-y, essayez de faire bouton droit -> Enregistrer l'image sous... (ou Afficher l'image ),
ou bien encore essayer de faire glisser l'image sur votre bureau. Vous ne pourrez obtenir de cette façon qu'une image transparente de
quelques pixels de côté.
Les informaticiens avertis que vous êtes trouveront bien entendu d'autres moyens de copier l'image. Mais pour le grand public,
ce ne sera pas possible.
Le script est très facile à mettre en place.
Admettons que le script et l'image transparente se trouvent dans le même dossier que votre page html.
Vous commencez par charger le script en plaçant le code suivant entre les balises <head>
et </head> de la page :
<script src="imgProtect.js" type="text/javascript"></script>
Insérez ensuite les images dans votre page html, avec la balise habituelle :
<img src="mon_image.jpg" width="300" height="200" alt="une image" />
Enfin, il faudra déclencher l'exécution du script par le code suivant :
<script type="text/javascript">imgProtec();</script>
Le script apporte quelques autres subtilités.
Ainsi, vous pouvez choisir de ne protéger que certaines images. Pour ce faire, vous pourrez passer un premier argument dans la fonction :
imgProtec( cibles );
Cet arguments peut être une référence à une seule image :
var cibles = document.getElementById('mon_image'); imgProtec( cibles );
ou à une collection d'images :
var cibles = document.getElementById('conteneur').getElementsByTagName('img'); imgProtec( cibles );
Il vous est aussi possible de préciser où trouver l'image transparente. Ceci devra être indiqué dans un second argument :
imgProtect(0, 'dossier/sous_dossier/image.gif');
Notez enfin que si vous ne définissez pas d'attributs width et
height pour vos images, il vaudra mieux déclencher le script une fois que le tout le contenu de la page aura
été chargé. Vous utiliserez donc ceci (ou quelque chose de plus élaboré) :
window.onload = imageProtec;
Vous trouverez dans ce zip le script en version compressée (700 octets) et en version commentée, ainsi que l'image transparente (16 octets).
compatibilité :
(autres navigateurs non testés)