Deblan blog

La toile

« Ce soir ou jamais » parle de la NSA

Vendredi dernier (25 octobre), France 2 diffusait l'émission « Ce soir ou jamais ». Le sujet traitait de la NSA et de la grande question de l'espionnage sur Internet. Un débat très intéressant où intervenait, entre autres, Jérémie Zimmermann le fondateur de la Quadrature du Net.

Beaucoup de questions ont été soulevées et des idées très interessantes ont été proposées. Je ne vais pas faire un résumé de l'émission puisqu'il me paraît important de la regarder.

Ce soir ou jamais

Cependant, je regrette deux choses qui auraient du être traitées plus sérieusement. Commençons par la plus importante : le logociel libre. Évoqué succintement et très mal défini, c'est une première vraie réponse à cette grande problèmatique de l'espionnage informatique au sens large. Avoir la capacité de savoir comment un logiciel fonctionne, que ce soit une application lourde ou pas, et savoir comment il fonctionne (le code source) me paraît essentiel.
La notion de décentralisation des services n'est pas clairement évoquée. On sait que la NSA pioche des infos chez Microsoft, Apple, Google et encores bien d'autres boites, pourquoi continuer à utiliser leurs services ? Pour la NSA, c'est du pain bénit : tout est au même endroit, ils sont une véritable mine d'or et personne n'a parlé du fait que si les gens avaient leurs services stockés ailleurs, alors la NSA aurait beaucoup plus de difficultés à les pister. Le constat est bien présent mais cette décentralisation de l'information n'est pas du tout développée.


Uzbl - Importer ses bookmarks Firefox

Si vous avez une masse importante de bookmarks et que vous aimeriez les retrouver dans Uzbl alors je vous propose ce script d'importation. Il se repose sur les bookmarks de la "Barre personnelle" uniquement, et configure les bookmarks avec des tags (cf le précédent article).

Pour que le script fonctionne, vous devez posséder php et vous aurez besoin de faire un export (au format json) à la racine de votre répertoire personnelle.

Il suffira de lancer le script et tout se fera automatiquement :)

#!/usr/bin/php5
<?php

$bookmarks_file = array_pop(glob(getenv('HOME').'/bookmarks-*.json'));

if (empty($bookmarks_file)) {
    echo sprintf("No bookmarks found in \"%s\"/\n", getenv('HOME'));
    exit(0);
}

$datas = json_decode(file_get_contents($bookmarks_file));

function get_firefox_bookmarks_for_uzbl($node, $prefix)
{
    $config = '';

    if (isset($node->children)) {
        foreach ($node->children as $child) {
            $config.= get_firefox_bookmarks_for_uzbl($child, $prefix.'/'.$node->title);
        }
    } else {
        if (isset($node->uri)) {
            $config.= str_replace(
                array(
                    '/Barre personnelle/',
                    '/Barre personnelle'
                ),
                array(
                    '/Barre personnelle',
                    '/'
                ),
                "$node->uri $prefix $node->title\n"
            );
        }
    }

    return $config;
}

file_put_contents(
    getenv('HOME').'/.local/share/uzbl/bookmarks',
    get_firefox_bookmarks_for_uzbl($datas->children[2], '')
);

Uzbl-tabbed, mon nouveau navigateur hors développement, scripts

J'utilise à présent Uzbl-tabbed comme navigateur (hormis quand je fais du développement web). Il fonctionne à merveille, sans compter l'incroyable facilité de personnalisation.

Voici quelques éléments de ma configuration :

Clique molette : ouverture dans un onglet
@bind  <Button2>  = sh 'if [ "$1" ]; then echo "event NEW_TAB $1" > "$UZBL_FIFO"; else echo "uri $(xclip -o | sed s/\\\@/%40/g)" > "$UZBL_FIFO"; fi' '\@SELECTED_URI'
Divers binds
@cbind <Ctrl>n = event REQ_NEW_WINDOW # nouvelle fenêtre
@cbind <Ctrl>r = reload # rechargement
@cbind <Ctrl>R = reload_ign_cache # rechargement sans cache
@cbind <Mod1>b = back # précédent
@cbind <Mod1>n = forward  suivant 
@cbind <Ctrl>w = exit # fermerture d'onglet/fenêtre

@on_event NEW_WINDOW  sh 'uzbl-tabbed "$1"' %r
@cbind  clone = event REQ_NEW_WINDOW \@uri # copie de fenêtre/fenêtre
Gestion de bookmarks avec des tags

Ce script est un hack de celui présent sur le site d'Uzbl.

  • Emplacement : @scripts_dir/bookmark_with_tags_for_folders.sh
  • Bind : @cbind <Ctrl>d = spawn @scripts_dir/bookmark_with_tags_for_folders.sh
#!/bin/bash
# @scripts_dir/bookmark_with_tags_for_folders.sh
#NOTE: it's the job of the script that inserts bookmarks to make sure there are no dupes.

file=${XDG_DATA_HOME:-$HOME/.local/share}/uzbl/bookmarks

[ -r "$file" ] || exit

DMENU_SCHEME="bookmarks"
DMENU_OPTIONS="xmms vertical resize"

. "$UZBL_UTIL_DIR/dmenu.sh"
. "$UZBL_UTIL_DIR/uzbl-dir.sh"

TAG=`cat $file | cut -d" " -f2 | sort -u | $DMENU -nb \#303030 -nf khaki -sb \#CCFFAA -sf \#303030`

goto=`grep $TAG $file | cut -d" " -f1,3- | while read url name; do [ -z "\$name" ] || name="\$name "; echo "\$name: $url"; done | $DMENU $COLORS | cut -d":" -f2-`

[ -n "$goto" ] && echo "uri $goto" > "$UZBL_FIFO"
Le contrôle+L de Firefox
  • Emplacement : @scripts_dir/prompt_url.sh
  • Bind : @cbind <Ctrl>l = spawn @scripts_dir/prompt_url.sh
#!/bin/sh

goto=$(zenity --entry --text "$UZBL_TITLE" --entry-text "$UZBL_URI" --title "$UZBL_TITLE")

if [ $? -eq 0 ]; then
	echo "uri $goto" > "$UZBL_FIFO"	
fi
Le contrôle+K de Firefox
  • Emplacement : @scripts_dir/prompt_search.sh
  • Bind : @cbind <Ctrl>k = spawn @scripts_dir/prompt_search.sh
#!/bin/sh

search=$(zenity --entry --text "Effectuer une recherche" --entry-text "" --title "UZBL : Effectuer une recherche")

if [ $? -eq 0 ]; then
	echo "uri http://www.google.fr/search?q=$(echo "$search" | sed 's/ /%20/g')" > "$UZBL_FIFO"	
fi
Gestion du zoom à la Firefox (contenu + conteneur)
Binds :
@cbind <Ctrl>i         = js (function() { var event = document.createEvent('HTMLEvents'); event.initEvent('uzbl_zoom_in', true, true); document.dispatchEvent(event); } )();
@cbind <Ctrl><Shift>I  = js (function() { var event = document.createEvent('HTMLEvents'); event.initEvent('uzbl_zoom_out', true, true); document.dispatchEvent(event); } )();
@cbind <Ctrl>à         = js (function() { var event = document.createEvent('HTMLEvents'); event.initEvent('uzbl_zoom_init', true, true); document.dispatchEvent(event); } )();

@on_event   LOAD_COMMIT    script @scripts_dir/zoom.js

Dans @scripts_dir/zoom.js :

function get_cookie(name) {
	var dc = document.cookie;
	var prefix = name + '=';
	var begin = dc.indexOf('; ' + prefix);

	if (begin == -1) {
		begin = dc.indexOf(prefix);

		if (begin!= 0) {
			return null;
		}

	} 
	else {
		begin += 2;
	}

	var end = document.cookie.indexOf(';', begin);

	if (end == -1) {
		end = dc.length;
	}

	return unescape(dc.substring(begin + prefix.length, end));
}

var step = function()
{
	return 0.1;
}

var get_body = function()
{
	var body = document.getElementsByTagName('body');

	return body ? body[0] : null;
}

var get_body_zoom = function()
{
	return get_body().getAttribute('data-zoom') ? parseFloat(get_body().getAttribute('data-zoom')) : 1;
}

var set_body_zoom = function(zoom)
{
	get_body().setAttribute('data-zoom', zoom);
	get_body().style.zoom = zoom;
	document.cookie='uzbl_zoom='+zoom+';path=/;expires=Tue, 2 Jun 2020 00:00:00 UTC;'	
}

var zoom_in = function()
{
	set_body_zoom(get_body_zoom() + step());
}

var zoom_out = function()
{
	set_body_zoom(get_body_zoom() - step());
}

var zoom_init = function()
{
	set_body_zoom(1);
}

var zoom_retrieve = function()
{
	var zoom = get_cookie('uzbl_zoom');

	if (zoom) {
		set_body_zoom(zoom);
	}
}

document.addEventListener('uzbl_zoom_in', zoom_in, true);
document.addEventListener('uzbl_zoom_out', zoom_out, true);
document.addEventListener('uzbl_zoom_init', zoom_init, true);
document.addEventListener('DOMContentLoaded', zoom_retrieve, true);

J'espère que ça vous sera utile :)


Informations streaming, conférence Web3D++ avec Meza Lab !

Suite pour mon article sur le Web3D++, voici les services pour nous suivre en direct.

Si les places "physiques" en amphithéâtre sont complètes, il est possible d'y assister sous deux formes :

En Streaming vidéo

Le flux sera dispo sur http://www.youtube.com/watch?v=M1MHmvHoDRs&feature=plcp (problème ustream).

Via votre navigateur internet favori pour la partie application : http://www.ustream.tv/channel/deblan

En cas de panne de ustream ou pour voir l'amphi complet, vous devrez utiliser un lecteur type VLC et ouvrir le flux suivant : http://src-media.com:8000/src-web3d.ogg

En Web3D / Environnement Virtuel 3D

Remarque importante : Les réseaux d'entreprises ont souvent des blocages mis en oeuvre par les administrateurs. Ils empêchent l'usage d'outils considérés comme exotiques. Pour cela voyez avec les responsables, OU suivez nous en Vidéo.

Il vous faut télécharger et installer le Viewer/Navigateur Web3D :

Attention il se peut que l'installation vous demande d'avoir les pilotes de votre carte graphique a jour.


Il faut également vous inscrire sur l'une des plateformes utilisées : SecondLife.

Une fois votre inscription réalisée vous recevrez un email qui vous demandera de valider votre compte. Pensez à bien regarder dans votre compte mail, ainsi que par exemple dans le dossier "indésirable, Spam" ou d'un autre nom selon votre fournisseur.

Lors de votre première connexion sur votre compte SecondLife pour arriverez sur leur iles d'accueil.

Pour nous rejoindre il faut vous rendre à cette adresse : http://maps.secondlife.com/secondlife/MEZA/160/157/136. Vous pouvez la coller dans votre navigateur internet qui affichera une page vous proposant de vous téléporter à l'endroit indiqué. Vous pouvez également la copier dans le "chat près de chez moi" de votre viewer/navigateur 3D. Un lien s'affichera et en cliquant dessus une fenêtre apparaitra vous proposant de vous Téléporter à l'endroit indiqué.

Pour l'autre plateforme, les modalités de connexion avec le même viewer/navigateur 3D que pour Second Life, vous seront indiquées lors de la conférence et au préalable à l'occasion des deux séances d'initiations.

En cas de problème de connexion en Web3D, vous pouvez nous demander de l'aide par le biais de Skype en contactant : bonob0h.


Conférence sur le Web3D avec Meza Lab @ Montbéliard

L'association Meza travail sur ce concentré de médias : le Web3D. Vous êtes instituteur et vous aimeriez immerger les enfants au temps des chevaliers ? Oui, nous aussi et on peut le faire. Vous souhaitez ouvrir les portes de votre société depuis n'importe où dans le monde ? Très bien : modélisez vos bureaux et faites découvrir aux gens votre savoir faire. Un projet de réaménagement vous tente mais nous ne savez pas trop ce que ça pourrait donner ? Modelez indéfiniment vos biens jusqu'aux limites de votre imagination. Il est nécessaire de simuler l'évolution d'une pandémie ou de prévoir l'évacuation d'un événement regroupant des milliers de gens ? Qu'est ce qui vous en empêcherait ?

Meza Lab

Je tiendrai une conférence le vendredi 11 Janvier à l'IUT de Montbéliard pour présenter tout ça (amphi SRC de 12h30 à 14h) . Accompagné par Philippe Scoffoni et Guillaume, nous vous invitons à nous rejoindre, soit physiquement soit en direct live sur Internet (virtuellement ou streaming vidéo). Je vous transmettrai les informations pour nous suivre.