Piste: » webcollage

Présentation de Webcollage

Webcollage est le parfait prototype de l’application inutile DONC indispensable.

Ce script en Perl permet de générer une image qui est un collage d’autres images récupérées de facon aléatoire sur Internet, avec en plus un lien vers la page d’origine.


Avertissement : Webcollage récupère les images de facon aléatoire ... Cela signifie que l’image résultante est un reflet d’Internet, avec ses images drôles, attachantes, mais aussi choquantes ! Même si 95% des images ne posent pas de problème, ne laissez cette page à la portée d’un jeune public.


On peut voir un exemple de rendu ici :

Page complète avec code HTML : http://intranet.harlaut.net/collage/

Image seule : http://intranet.harlaut.net/collage/index.jpg


Installation de [[WebCollage]]

Le script de base est téléchargeable ici : http://www.jwz.org/webcollage/ Et plus exactement là : http://www.jwz.org/webcollage/webcollage

Prérequis

- Perl - xscreensaver - netbPM - libjpeg-progs

Optionnel : - Imagemagick - Driftnet

Exécution

Rendre le script exécutable

chmod u+x webcollage

Exécuter avec au moins les options de base suivantes :

./webcollage.pl -root -delay 20 -size '800x600' -imagemap /chemin/vers/index

Détails :

  • root : Obligatoire et c’est comme ca
  • delay : Le délai entre chaque recherche d’images
  • size : La taille de l’image générée
  • imagemap : Le chemin complet vers un nom de fichier qui va donner en définitive un fichier index.jpg et un fichier index.html

Cette ligne de commande de base doit permettre la création de la première page de collage, si ce n’est pas le cas, lisez les messages de warning, ou ajoutez :

-v
-vv
-vvv
etc ...

A votre ligne de commande pour obtenir différent niveaux de bavardage du script.

Paramètres optionnels

Ajouter un lien vers un dictionnaire Permet de passer à certains moteurs de recherche (google image), des mots clés à partir d’une liste prédéfinie (et donc à-priori construire des collages thématiques)

-dictionnary /usr/share/dict/french

Ajouter un filtre aux images Permet d’ajouter des effets comme la solarisation, le flou, le rendu “peinture”, ...

-filter 'convert -paint 2 - -'
-filter 'convert -solarize 2 - -'
-filter 'convert -paint 2 -solarize 2 -monochrome - -'
...

(man convert, qui est un programme de imagemagick)

Changer la couleur de fond Partir d’une couleur de base autre que le noir

-background white

Modification du script

Pour certains effets, ou pour changer le mode de recherche des images, on doit modifier directement le script. Voici les paramètres interessants

Ajouter une transparence aux images Le rendu est meilleur avec une transparence qui permet d’atténuer les différences entre images.

Il faut pour celà : - Une variable PATH qui contient le chemin vers webcollage-helper

export PATH=$PATH:/usr/lib/xscreensaver/

- Modifier le script webcollage avec les variables suivantes :

my $webcollage_helper = '/usr/lib/xscreensaver/webcollage-helper';
my $opacity = 0.90;

Modifier les sites de recherche Par défaut, webcollage recherche essentiellement avec livejournal, altavista et yahoo On peut définir la répartition des recherches de la facon suivante, dans la portion my @search_methods

my @search_methods
	                    9, "altavista",     \&pick_from_alta_vista_random_link,
	                  15, "livejournal",    \&pick_from_livejournal_images,
	                  19, "yahoorand",   \&pick_from_yahoo_random_link,
	                  19, "avimages",     \&pick_from_alta_vista_images,
	                  19, "googleimgs",   \&pick_from_google_images,
	                  19, "hotbot",         \&pick_from_hotbot_text,
	                  );
  1. La somme des chiffres doit être de 100 % (répartition de la recherche)
  2. Les 3 derniers liens fonctionnent avec l’utilisation d’un dictionnaire (-dictionary) et permettent de limiter fortement le contenu X (mais ne l’empèche pas)

Modification de la page HTML

Webcollage sait insérer son propre code à l’intérieur d’une page HTML existante afin de personnaliser la page finale.

Creez une page HTML dont le code est le suivante

<HTML>
 <HEAD>
  <META HTTP-EQUIV="Refresh" CONTENT="60">
  <TITLE>WebCollage</TITLE>
 </HEAD>
 <BODY BGCOLOR="#000000" TEXT="#DDFFDD"
	   LINK="#00EEEE" VLINK="#EEEE00" ALINK="#FF0000">
  <BASE TARGET="_new">
  <P ALIGN=CENTER>
  <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=0 WIDTH=810>
   <TR>
	<TD COLSPAN=3 ALIGN=CENTER VALIGN=TOP>
	 <TABLE BORDER=2 CELLPADDING=0 CELLSPACING=0>
	  <TR>
	   <TD>
	<MAP NAME="index">
</MAP>
	<A NAME="#image">
	 <IMG SRC="index.jpg" BORDER=0 WIDTH=960 HEIGHT=720 USEMAP="#index"></A></TD>
	  </TR>
	 </TABLE></TD>
   </TR>
   <TR>
	<TD NOWRAP VALIGN=TOP ALIGN=LEFT WIDTH="20%">
	 <FONT SIZE="-2"><SPAN CLASS="webcollage_date">02-Jan-2005  6:05:04 PM CET</SPAN></FONT></TD>
	<TD NOWRAP VALIGN=TOP ALIGN=CENTER WIDTH="60%"><FONT SIZE="-2">
<!--
	  (we now return to our irregularly programmed schedule)
 -->
	 </FONT></TD>
	<TD NOWRAP VALIGN=TOP ALIGN=RIGHT WIDTH="20%">
	 <FONT SIZE="-2"><SPAN CLASS="webcollage_size">134K</SPAN></FONT></TD>
   </TR>
  </TABLE>
 </BODY>
</HTML>

En pointant vers le nom de cette page (sans extension) avec le paramètre -imagemap, webcollage va ajouter les liens de type image map sans toucher au reste du code, et mettre à jour les informations “date de mise à jour” et “poids de l’image”.

Utilisation de Driftnet

Driftnet est un logiciel qui permet de récupérer en temps réel, et au milieu des paquets IP qui transitent par une interface réseau donnée, les images qui sont transférées. Driftnet place les images récupérés dans un répertoire temporaire.

Webcollage sait utiliser Drifnet pour créer un collage des images qui transitent par une interface !

Avertissement (bis) : Si vous faites ce que vous voulez avec vos flux IP, ne placez pas ce genre de mouchard sur un réseau d’entreprise ou public ! En terme de respect de la vie privée, vous me direz que Drifnet n’affiche pas l’adresse de la machine expéditrice ou de reception, mais si quelqu’un est en train de gérer des photos personnelles sur un album extérieur et que l’on reconnait des lieux, personnes, etc ... Bref, reservez Driftnet à votre propre usage, vous serez gentil :)

L’usage est simplissime (plus que la description)

-driftnet 'driftnet -i eth1 -d /tmp'

On a alors plus que les images en transit, et plus de recherche sur le net.

 
webcollage.txt · Dernière modification: 26/07/2005 03:56 par mike