PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Simon Vieille : Uzbl - Importer ses bookmarks Firefox

dimanche 17 février 2013 à 17:51

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

 
$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], '')
);

Gravatar de Simon Vieille
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.

Articles similaires

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

dimanche 17 février 2013 à 17:26

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 &#039;if [ "$1" ]; then echo "event NEW_TAB $1" > "$UZBL_FIFO"; else echo "uri $(xclip -o | sed s/\\\\\\@/%40/g)" > "$UZBL_FIFO"; fi&#039; &#039;\\@SELECTED_URI&#039;

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&#039;onglet/fenêtre
 
@on_event NEW_WINDOW  sh &#039;uzbl-tabbed "$1"&#039; %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.

#!/bin/bash
# @scripts_dir/bookmark_with_tags_for_folders.sh
#NOTE: it&#039;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

#!/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

#!/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 &#039;s/ /%20/g&#039;)" > "$UZBL_FIFO"	
fi

Gestion du zoom à la Firefox (contenu + conteneur)

Binds :
@cbind <Ctrl>i         = js (function() { var event = document.createEvent(&#039;HTMLEvents&#039;); event.initEvent(&#039;uzbl_zoom_in&#039;, true, true); document.dispatchEvent(event); } )();
@cbind <Ctrl><Shift>I  = js (function() { var event = document.createEvent(&#039;HTMLEvents&#039;); event.initEvent(&#039;uzbl_zoom_out&#039;, true, true); document.dispatchEvent(event); } )();
@cbind <Ctrl>à         = js (function() { var event = document.createEvent(&#039;HTMLEvents&#039;); event.initEvent(&#039;uzbl_zoom_init&#039;, 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 + &#039;=&#039;;
	var begin = dc.indexOf(&#039;; &#039; + prefix);
 
	if (begin == -1) {
		begin = dc.indexOf(prefix);
 
		if (begin!= 0) {
			return null;
		}
 
	} 
	else {
		begin += 2;
	}
 
	var end = document.cookie.indexOf(&#039;;&#039;, 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(&#039;body&#039;);
 
	return body ? body[0] : null;
}
 
var get_body_zoom = function()
{
	return get_body().getAttribute(&#039;data-zoom&#039;) ? parseFloat(get_body().getAttribute(&#039;data-zoom&#039;)) : 1;
}
 
var set_body_zoom = function(zoom)
{
	get_body().setAttribute(&#039;data-zoom&#039;, zoom);
	get_body().style.zoom = zoom;
	document.cookie=&#039;uzbl_zoom=&#039;+zoom+&#039;;path=/;expires=Tue, 2 Jun 2020 00:00:00 UTC;&#039;	
}
 
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(&#039;uzbl_zoom&#039;);
 
	if (zoom) {
		set_body_zoom(zoom);
	}
}
 
document.addEventListener(&#039;uzbl_zoom_in&#039;, zoom_in, true);
document.addEventListener(&#039;uzbl_zoom_out&#039;, zoom_out, true);
document.addEventListener(&#039;uzbl_zoom_init&#039;, zoom_init, true);
document.addEventListener(&#039;DOMContentLoaded&#039;, zoom_retrieve, true);

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

Gravatar de Simon Vieille
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.

Articles similaires

Stéphane Laborde : Monopoly Relativiste !

samedi 16 février 2013 à 18:03
Nous avons joué une partie de "monopoly relativiste" avec Héloïse,Laureen, et Florian, il y a quelque temps et nous avions décidé d'en faire un résumé vidéo pour en expliquer le fonctionnement. Voici la vidéo !


Il faut se munir d'un tableur, si possible libre, c'est toujours mieux, ici nous avons utilisé l'excellent Libre Office Calc. Le tableur est fondamental, car à chaque tour nous devons calculer le patrimoine des joueurs, afin d'effectuer les 10% d'échanges multilatéraux, en sus des transactions normales dans le jeu, calculer le revenu de base indexé sur la masse monétaire en vigueur, puis aussi effectuer les revalorisations des unités monétaires afin de ne pas être à court de monnaie, la quantité de billets du jeu étant bien évidemment limitée. Tout ceci s'effectue très simplement et très rapidement à l'aide du tableur (ici première version, à améliorer !).


Aucune monnaie ne sort du jeu, et la seule monnaie injectée dans le jeu vient du seul Revenu de Base. Ce qui, comme on le montre ici n'empêche en rien au jeu de se dérouler, des différences de natures de valeurs se développer, et tout ceci sans faillite de personne.

Chaque investissement (dont l'échange minimal de 10% du patrimoine par tour) dans le jeu est un achat fait aux autres joueurs, que l'on peut aussi interpréter comme un achat de prestation des autres joueurs. Car il n'y a aucun autre acteur de l'économie existant que les acteurs de l'économie, ils sont tous là par définition, ils étaient là hier et seront tous là demain.

On peut comprendre avec le résumé des prix, de la masse monétaire et du prix relatif en revenu de base, que les prix pourraient tout aussi bien se calculer en nombre de revenu de base actualisé
Si un joueur veut investir dans une maison, un terrain, un hôtel, choses qui représentent ce qu'il ne produit pas lui-même, il en paye le prix, fixé par des enchères, aux autres acteurs de l'économie qui sont donc représentées par les autres joueurs. Soit que ces joueurs possèdent déjà le produit, soit que cela procède d'une création de valeur à l'aide des ressources et/ou du travail d'autrui.

On peut donc dire que "les" joueurs du jeu relativiste ne sont pas "des" joueurs au sens strictement absolu, individuel, du terme, mais représentent un ensemble d'individus pour le temps économique au moment, mais aussi perdurent au delà de la vie d'un individu (en 47 ans ou plus, beaucoup seront morts, et d'autres nés...). Nous simulons donc ici l'économie sur un grand espace à l'instant "t" où l'on jette les dés et des durées de temps qui sont grandes devant la vie d'un seul individu pour la totalité du jeu.

Le principe peut s'implémenter dans un logiciel, afin de pouvoir le jouer plus rapidement, les calculs étant entièrement automatisés, ce qui permettrait de former des générations de joueurs, au principe d'un système monétaire relativiste, un système monétaire symétrique entre les hommes et les générations, un système monétaire à revenu de base.
www.creationmonetaire.info - Creative Common 3.0

Gravatar de Stéphane Laborde
Original post of Stéphane Laborde.Votez pour ce billet sur Planet Libre.

ephase : Steam final disponible sur Linux

samedi 16 février 2013 à 01:59

Disponible en bêta fermé depuis plusieurs mois sur Linux, Steam est maintenant disponible en version finale sur notre OS favori. Pour rappel, Steam est une plate-forme de distribution de jeux vidéo et applications informatiques dématérialisés. Voici ici un petit test perso sur Archlinux.

Il n'y a pas qu'Ubuntu dans Linux

Depuis l'annonce du portage de Steam sous Linux, Ubuntu a toujours été mis en avant par Valve[1]. Distribution qui, il faut le dire, rencontre un grand succès notamment auprès des "switchers". Seulement Linux ne se réduit pas à Ubuntu. Grâce aux bidouilleurs de tous bords, Steam est disponible depuis quelques temps sur d'autres distributions (Mint, Fedora, Debian ...). Sur Archlinux, il est d'abord apparu dans le dépôt AUR pour passer dans community (multilib pour l'architecture x86_64).

Une installation simple

Installer Steam est donc enfantin sur Arch, mais attention il faut activer le dépôt Multilib pour un système 64 bit. Il suffit pour ça d'ouvrir le fichier /etc/pacman.conf avec les droits super-utilisateur et de trouver les lignes suivantes :

#multilib
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist

pour enlever les # afin de les dé-commenter

Il ne reste plus qu'a mettre à jour les listes des paquets et installer Steam avec la commande (en mode super-utilisateur toujours) :

pacman -Sy steam

Installer et lancer Steam est simple, mais les jeux ont eux aussi leurs propres dépendances. Un bon point de départ pourrait être mon article Humble Bundle et Archlinux pour installer les paquets les plus utiles. Sinon, le wiki anglais de notre distribution préférée est une vraie mine d'informations.

Steam installe les jeux dans le répertoire ~/.local/share/Steam .

La découverte

N'ayant jamais utilisé Steam auparavant, il me propose de créer un compte, je m'exécute. Il m'affiche enfin l'interface d'accueil. Le client Steam me donne l'impression d'être une sorte de navigateur web customisé à fond. Effectivement on retrouve la même page d'accueil que sur le site Internet steampowered.com.

L'écran d'accueil du client Steam

L'accueil du site Internet Steampowered.com

Premier jeu

Ma librairie de jeux est vide mais pas question pour moi d'acheter quoi que se soit avant de tester un peu le bouzin. Dans mes archives, je sais qu'il y a une copie d'un pack Half-Life que j'ai acheté jadis et justement il est disponible en natif (et en beta aussi). Vous avez remarqué le bouton "Add a Game" en bas, ben il sert entre autre à rajouter des jeux acheté en version "Boite'" sur Steam (s'ils sont disponibles sur la plate-forme bien sûr). Je rentre le numéro de série, je lance le téléchargement, tout fonctionne du premier coup!

C'est Half-Life, dépassé mais en natif sous Linux

Le réseau social du gamer.

Steam n'est pas qu'un magasin de jeu dématérialisé, c'est aussi un véritable réseau social avec les bons et les mauvais côté que cela implique. On peut y ajouter des amis, s'abonner à des groupes, en créer même. Chatter avec un ami pendant que l'on joue est relativement simple, comble du bonheur, il est même possible d'ouvrir un navigateur histoire de trouver plus facilement une solution lorsque l'on est bloqué. Il est même possible de partager ses captures d'écrans que l'on peut faire pendant le jeu grâce à la touche F12.

L'interface Sociale directement dans le jeu

Steam propose aussi les "Game Hubs" qui regroupement news, forums de discussions, captures d'écran, vidéo et des astuces pour un jeu donné. Je m'en sert beaucoup des discussions pour trouver de l'aide, le plus souvent technique car on y trouves déjà beaucoup de sujets autour de Linux.

L'interface du Games Hub

Premiers Achats

Mis en confiance, j'ai donc décider de tester l'achat. Il faut dire que l'annonce du dernier jeu de Double Fine (vous savez, les gars qui ont fait Psychonauts) compatible avec Linux ne m'a pas laissé indifférent. Je suis donc passé à la caisse pour The Cave, seulement j'ai oublié de vérifier un point important : le jeu n'est pas encore disponible en natif sous Linux (mais il devrait arriver mardi prochain)...

The Cave : Ron Gilbert Tim Shaffer comme à la bonne époque

En ce moment, c'est les soldes chez Steam pour les client Linux histoire de fêter la version finale. J'en ai donc profité pour acheter Trine 2, un jeux action, réflexion, plates-formes magnifique. Cette fois-ci, le jeux est disponible en natif, je paye, je télécharge les 2.5Go du jeu, je le lance... tout fonctionne! et quel jeu extraordinaire.

Trine2, c'est beau, c'est natif et c'est plaisant à jouer

J'ai aussi rajouter quelques jeux issus des différents Humble Bundle que j'avais acquis auparavant.

Mes impressions.

Pour moi, Steam me permet de trouver des jeux, le plus souvent réalisés par des studios indépendant, à des prix attractifs et compatible nativement avec le système que j'ai choisi d'utiliser. Ça marche, c'est simple, rempli de fonctionnalités intéressantes. Tout est fait pour vous donner l'envie d'y rester, c'est le fond de commerce de Valve et ça fonctionne bien. Preuve en est après une semaine d'installation j'ai déjà acheté deux jeux et je ne suis pas le seul... Valve communique sur environ 1% de connexions avec son client natif Linux ce qui n'est vraiment pas mal. et je pense ne pas être le seul à avoir acheté quelque chose.

Mais Valve n’investit notre plate-forme pour rien : l'envie de se détacher du système Microsoft qui a tendance à le verrouiller tel celui d'Apple ou encore tester ce que pourrait être la base de sa future Steam-Box, la console de jeu / PC support de son magasin virtuel. Le fait est que maintenant Linux gagne en visibilité après des joueurs. Mais attention, ce ne sera pas forcément le cas la la philosophie qui est véhiculée par celui-ci.

De la même façon, Valve n'est pas là pour les beaux yeux des libristes, l'utiliser c'est accepter ses conditions d'utilisation et perdre certaines libertés auxquelles nous sommes habitués et en accepter les conséquences. J'ai choisi de l'accepter. Et oui, je suis un joueur...

Note

[1] Créateur de Steam

Gravatar de ephase
Original post of ephase.Votez pour ce billet sur Planet Libre.

Framablog : La marque (du langage) Python est en péril en Europe et a besoin de votre aide !

vendredi 15 février 2013 à 19:18

Le célèbre (et libre) langage de programmation Python est en danger en Europe pour une sombre histoire de droit des marques.

Nous avons traduit ci-dessous l’appel à soutien de Van Lindberg, président de la Python Software Foundation.

Python Logo

La marque Python en péril en Europe : Nous avons besoin de votre aide !

Python trademark at risk in Europe: We need your help!

Van Lindberg - 14 février 2013 - Python Software Foundation
(Traduction : Moosh, lgodard, Alpha, QuébecTroll, jtanguy, Penguin, Uflex, ProgVal, goofy, maz, Nodel, Norore + anonymes)

Vous qui travaillez dans une entreprise qui a un bureau dans un pays membre de l’Union Européenne, nous avons besoin de votre aide.

Une entreprise au Royaume-Uni essaye de faire reconnaître le terme « Python » comme marque commerciale pour tout logiciel, service ou serveur, à peu près tout ce qui a quelque chose à voir avec un ordinateur. Plus précisément, c’est l’entreprise qui a acquis le domaine python.co.uk il y a treize ans. À cette époque, nous nous souciions peu des problèmes de marque et nous n’avions pas acquis ce domaine.

Ce n’était pas un problème jusqu’à présent car le domaine python.co.uk, la plupart du temps, se contentait de transférer son trafic vers les sociétés-mères, veber.co.uk et pobox.co.uk. Malheureusement, Veber a décidé qu’ils voulaient commencer à utiliser le nom « Python » pour leurs logiciels serveurs.

Nous avons contacté les propriétaires de python.co.uk à plusieurs reprises et essayé d’en discuter avec eux. Leur seule réponse a été de déposer une demande de marque communautaire réclamant les droits exclusifs d’utiliser le terme « Python » pour des logiciels, serveurs, et services web – et ce partout en Europe.

Nous avons fait appel à un conseiller juridique au Royaume Uni et nous, la Python Software Foundation (NdT :. la Fondation Python), opposons à cette demande une demande de dépôt de marque communautaire, mais notre propre demande n’est pas suffisamment mûre. Dans cette dernière, nous exposons les droits de propriété de la marque résultants de l’utilisation de “Python” au cours de ces 20 dernières années.

D’après notre avocat londonien, les meilleures preuves que nous puissions transmettre au bureau européen des marques déposées sont les lettres d’entreprises connues « utilisant le logiciel de marque PYTHON dans divers pays de l’Union Européenne » de telle sorte que nous puissions « obtenir des témoignages indépendants de leur part, prouvant l’origine de la signification de la marque PYTHON, en relation avec le logiciel et les produits/services associés ». Nous avons aussi besoin de preuves d’utilisation de Python à travers toute l’Union Européenne.

Que pouvez-vous faire ?

1- Vous travaillez pour une entreprise qui utilise Python ? Vous êtes basés en Europe, vous y embauchez ou vous y possédez un bureau ? Pourriez-vous écrire une lettre avec l’en-tête de votre entreprise que nous pourrions réutiliser par la suite ?

Nous aurions besoin des élements suivants :

  1. Une brève description de l’utilisation de Python dans votre entreprise :
  2. Comment votre entreprise associe le terme Python uniquement à la PSF ;
  3. Votre opinion sur le fait qu’une autre entreprise utilisant le terme Python dans ses services, logiciels et serveurs pourrait âtre source de confusion.

La lettre n’a pas besoin d’être très longue —- quelques paragraphes suffisent, mais nous apprécierions toute forme de description de votre utilisation de Python dans vos logiciels, votre hébergement internet, vos serveurs, vos VPN, dans le développement de logiciel ou de matériel ou encore dans l’utilisation de services de sauvegarde. Pour ceux qui sont intéressés par les classes descriptives légales, elles figurent au bas de ce message[1][2].

Vous pouvez envoyer une copie PDF de votre lettre à psf-trademarks@python.org

2. Connaissez-vous ou possédez-vous quoi que ce soit qui ait été publié au sein de l’UE et qui utilise “Python” pour faire référence au langage Python? Pouvez-vous nous transmettre des numérisations, photos ou copies? Cela comprend :

Vous pouvez envoyer un scan PDF de ces documents à psf-trademarks@python.org.

3. Vous pouvez également aider à protéger la propriété intellectuelle de Python en nous soutenant financièrement.

Comme le coût d’opposition d’une marque commerciale est de l’ordre de dizaines de milliers de dollars, nous aurons besoin de trouver un moyen de financer les coûts de procédure de l’opposition.

Merci d’envisager une donation à la Python Software Foundation ou de me contacter.

C’est la première fois que la PSF doit prendre des mesures juridiques pour protéger la propriété intellectuelle de Python. S’il vous plait, aidez Python comme vous le pouvez. La menace est réelle et elle est susceptible de nuire à votre entreprise en Europe, surtout si vous êtes dans le domaine de l’hébergement et que Python fait partie de l’offre que vous proposez.

S’il vous plaît, faites-moi savoir si vous avez des questions auxquelles je peux répondre. Si vous connaissez quelqu’un qui devrait avoir l’information, libre à vous de la partager.

Thanks, Merci,

Van Lindberg, Président
van@python.org
Python Software Foundation

Notes

[1] Classe 9 - Logiciels ; Serveurs pour l’hébergement de sites web ; Matériel informatique pour RPV (réseau privé virtuel) ; Serveurs Internet (NdT : Classifications légales traduites à l’aide de l’outil EuroClass).

[2] Classe 42 - Conception et développement d’ordinateurs et de logiciels ; Hébergement de sites sur Internet ; Hébergement de sites web de tiers ; Hébergement de sites web ; Hébergement de sites web de tiers sur un serveur d’ordinateurs pour un réseau informatique mondial ; Hébergement de contenu numérique, à savoir de revues et de blogues en ligne ; Fournisseur de services d’application, à savoir hébergement de logiciels d’application de tiers ; Hébergement de contenu numérique sur l’internet ; Hébergement de sites web pour le compte de tiers ; Hébergement de sites informatiques de tiers (sites web) ; Hébergement de sites informatiques sites web ; Location de serveurs web.

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.