On a volé des nains de jardin
[ mai 2000 ]Un jeu bien sympathique consistant à ’voler’ des nains de jardin disséminés sur les sites partenaires de cette opération qui s’est déroulée au printemps/été 2001. Le but du jeu était de reconstituer sur le site un album de vignettes avec les 7 familles de nains de jardin créées pour l’occasion.
http://www.ovnj.com
Tout le problème résidait dans le fait qu’il fallait contrôler l’apparition des pictogrammes des nains sur 7 sites partenaires, dont la majeure partie à très fort trafic, sans que ce soit une corvée pour les webmasters. J’ai donc choisi d’utiliser un seul et même javascript qu’il suffisait au webmaster d’insérer là où il souhaitait voir un nain s’afficher...
<script language="JavaScript">
<!--
var url = "http://www.ovnj.com/dwarf/dwarf.php";
random = parseInt((Math.random()+1)*(Math.random()+1)*100000000)
dwarf = '<a name="dwarf">'
dwarf += '<a href="#dwarf"
onClick="window.open(\'http://www.ovnj.com/vol/popup.php?show=' + random +
'&loc=' + window.location.href + '\',\'\',\'width=560,height=380\')">'
dwarf += '<IMG SRC="' + url + '?'
dwarf += 'show=' + random + '"'
dwarf += ' border="0"></a>'
document.write(dwarf)
// -->
</script>
À chaque chargement, la page incluant le javascript ci-dessus appelait un script en PHP sur le serveur OVNJ. Celui-ci commencait par s’assurer que l’origine de la requête était bien un site partenaire, puis en fonction de divers paramètres ajustables depuis l’interface d’administration, sélectionnait quel nain devait être affiché ou renvoyait une image transparente d’1 pixel carré (car les nains de cyberjardin ne sortent que dans certaines plages horaires).
Lors du vol à proprement parler (un clic sur le picto du nain), un autre script sur le serveur OVNJ ! s’assurait de l’identité du voleur afin de valider ou non le vol (un même nain ne pouvant être volé par un même utilisateur qu’une fois par 24 heures). L’album virtuel du voleur pouvait ainsi s’enrichir soit d’un nain supplémentaire (premier vol) ou d’un certain nombre de points (récidive) servant à déterminer les gains (T-shirts, cadeaux, etc.).
Bref, avec 7 sites partenaires dont plusieurs ayant à l’époque plus de 500 000 pages vues par jour, les 3 serveurs que nous avions mis en place, 2 front-end web appuyés par 1 serveur MySQL, ont été mis à rude épreuve sans jamais faillir. Il y a bien eu quelque petit malin pour créer un site pirate exploitant une faille du script de départ pour remplir son album de façon illicite, ce dont nous étions assez fiers car cela témoignait du succès de l’opération. C’est pourquoi je me suis contenté de colmater la faille au lieu, fourbe que je peux être, de disqualifier automatiquement qui utilisait ce système...
Crédits
- Production: Ouat Entertainment
- Graphisme: Kipik